VBScript でシフト JIS の文字列のバイト数を数える (unibon)
1999年09月14日: 新規作成。
VBScript でシフト JIS の文字列のバイト数を数えます。
VBScript には Len 関数や LenB 関数がありますが、これらはいずれも Unicode を基準として数えますので、文字列をシフト JIS で考えた場合のバイト数を求めることはできません。ちなみに、シフト JIS の文字列をバイト数で知りたい場面としては、DBMS に文字列を格納する際に、DB のスキーマ定義としては文字列長がシフト JIS におけるバイと数として定義している場合などがあります。
使用例:
Dim s
s = "abcあい"
Call MsgBox("MyLen = " & MyLen(s))
Function MyLen(ByVal a)
Dim c
c = 0
Dim i
For i = 0 To Len(a) - 1
Dim k
k = Mid(a, i + 1, 1)
If (Asc(k) And &HFF00) = 0 Then
c = c + 1
Else
c = c + 2
End If
Next
MyLen = c
End Function
ASP の目次
ホーム
(このページ自身の絶対的な URL)