掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
文字コードから文字 (ID:80237)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VB2は、文字列をShift_JISのまま扱いますが、 VB4以降では、文字列をUCS-2形式のUnicodeとして扱います。 (UCS-2では、全角半角全ての文字を、2バイトで表現します) この内部的な文字列変換が理由で、文字コード上に存在しない 幾つかのバイナリデータは、Chr関数で扱えません。 このため、文字列変換を伴わない、ChrB関数を使う事になります。 VB2からの移行の場合、これらの文字列系関数による処理を見直す必要があります。 Chr関数→ChrB, Chr, ChrW関数 Asc関数→AscB, Asc, AscW関数 Left関数, Left$関数→Left, LeftB関数, Left$, LeftB$関数 Right関数, Right$関数→Right, RightB関数, Right$, RightB$関数 Mid関数, Mid$関数→Mid, MidB関数, Mid$, MidB$関数 また、VB2移行時には、文字列数/バイト長を調べるLen関数とLenB関数や、 文字種や文字コード変換に使われるStrConv関数などが良く使われます。 # 他に、MidB/MidB$ステートメントもありますが…これは使わないかな。 > chrB(242) とやると『F2』が返されるということでしょうか? ですます。以下のようにして確認してみてください。 Dim S As String Dim B() As Byte S = ChrB(242) B = ChrB(242) Debug.Print Hex(AscB(S)) Debug.Print Hex(B(0)) > aaa=chrB(242) としてみたのですが、『F2』は返されませんでした。 その aaa を、どのようにして確認されましたか? 参考までに教えてください。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.