#navi(../) * 文字から文字コード・文字コードから文字を返却する関数・Asc・Chr [#b442ea9d] 文字から文字コード、文字コードから文字を返却する関数の使用方法について以下に記します。 #contents #htmlinsertpcsp(win-top.html,win-sp.html) * 関連記事 [#hd8f64d7] -[[10進数を16進数に変換する・Hex>WSH/10進数を16進数に変換する・Hex]] * 文字から文字コード・Asc関数 [#td149a61] Asc関数以外にもAscB関数, AscW関数も試して見ます。~ 以下、Asc, AscB, AscWの3関数を使うサンプルコードを作成し実行してみました。 ** Asc関数・VBScriptサンプルコード [#sd195117] #ref(asc.zip) WScript.Echo "Asc(""A"") -> " & Asc("A") WScript.Echo "Asc(""A"") -> " & Hex(Asc("A")) & "H" WScript.Echo "AscB(""A"") -> " & AscB("A") WScript.Echo "AscB(""A"") -> " & Hex(AscB("A")) & "H" WScript.Echo "AscW(""A"") -> " & AscW("A") WScript.Echo "AscW(""A"") -> " & Hex(AscW("A")) & "H" WScript.Echo "Asc(""あ"") -> " & Asc("あ") WScript.Echo "Asc(""あ"") -> " & Hex(Asc("あ")) & "H" WScript.Echo "AscB(""あ"") -> " & AscB("あ") WScript.Echo "AscB(""あ"") -> " & Hex(AscB("あ")) & "H" WScript.Echo "AscW(""あ"") -> " & AscW("あ") WScript.Echo "AscW(""あ"") -> " & Hex(AscW("あ")) & "H" ** Asc関数・VBScriptサンプルコード動作結果 [#n5d1d1c5] 1: C:\wsh>cscript /nologo asc.vbs 2: Asc("A") -> 65 3: Asc("A") -> 41H 4: AscB("A") -> 65 5: AscB("A") -> 41H 6: AscW("A") -> 65 7: AscW("A") -> 41H 8: Asc("あ") -> -32096 9: Asc("あ") -> 82A0H 10: AscB("あ") -> 66 11: AscB("あ") -> 42H 12: AscW("あ") -> 12354 13: AscW("あ") -> 3042H 上記はAsc, AscB, AscWの3関数を実行した出力です。~ 2行目から7行目までは、すべて半角のAを使用して実行した結果です。~ 半角Aに関してはAsc, AscB, AscWの3関数とも同じ結果となっています。~ 8行目から13行目までは、全角のあを使用して実行した結果です。~ 9行目を見ると16進に変換すると82A0と出力されているのでSJISなのが確認できます。~ 13行目の3042を見るとUTF-16(Unicode)のあであることが確認できます。~ 11行目の42に関しては13行目の3042の42が返却されているようです。 * 文字コードから文字・Chr関数 [#k62921c6] Chr関数以外にもChrB関数, ChrW関数も試して見ます。~ 以下、Chr, ChrB, ChrWの3関数を使うサンプルコードを作成し実行してみました。 ** Chr関数・VBScriptサンプルコード [#q3594fc6] #ref(chr.zip) 1: WScript.Echo "Chr(&H41) -> " & Chr(&H41) 2: WScript.Echo "ChrB(&H41) -> " & ChrB(&H41) 3: WScript.Echo "ChrW(&H41) -> " & ChrW(&H41) 4: 5: WScript.Echo "Chr(&H82A0) -> " & Chr(&H82A0) 6: ' WScript.Echo "ChrB(&H82A0) -> " & ChrB(&H82A0) - Error 7: WScript.Echo "ChrW(&H82A0) -> " & ChrW(&H82A0) 8: WScript.Echo "ChrW(&H3042) -> " & ChrW(&H3042) 6行目はエラーとなるのでコメントにしています。 ** Chr関数・VBScriptサンプルコード動作結果 [#p72e760d] 1: C:\wsh>cscript /nologo chr.vbs 2: Chr(&H41) -> A 3: ChrB(&H41) -> A 4: ChrW(&H41) -> A 5: Chr(&H82A0) -> あ 6: ChrW(&H82A0) -> 芠 7: ChrW(&H3042) -> あ 上記の結果を確認すると、半角Aに関してはChr, ChrB, ChrWとも同様の動作となっています。~ ChrWに関しては、SJISコードを指定すると文字化けが発生しました。~ UTF-16(Unicode)を指定すると意図した「あ」の文字が表示されました。 #br #htmlinsertpcsp(win-btm.html,win-sp.html)