2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« バイナリファイルを16進数でダンプする。(その2) | トップページ | 文字列中の異文字を16進表示する関数(VBA) »

2008年9月28日 (日)

文字列中の異文字を16進表示する関数(VBScript)

文字列中に変な文字があっても、見た目では分からない場合があります。
VBScriptやJScriptなら、escape()してみれば分かりますが、VBAやVB.NETなどではどうするか?

まず、VBScriptで、
文字列中の異文字(ASCII、半角カタカナ、JIS X 0208、以外)を16進表示に変える関数
を作って、

s="あアabc" & chr(10) & chrw(128)
msgbox xString(s)

Function xString(s)
Dim k,c
For k=1 To Len(s)
  c=Mid(s,k,1)
  If 31<AscW(c) And AscW(c)<128 Then
  ElseIf &Hff60<AscW(c) And AscW(c)<&Hffa0 Then
  ElseIf Chr(Asc(c))=c And Asc(c)<0 Then
  Else
    c=Hex(AscW(c))
    c="{" & String(Len(c) Mod 2,48) & c & "}"
  End If
  xString=xString & c
Next
End Function

« バイナリファイルを16進数でダンプする。(その2) | トップページ | 文字列中の異文字を16進表示する関数(VBA) »