深入解析ASP核心技术
上QQ阅读APP看书,第一时间看更新

2.2 常用转换举例

2.2.1 取得字符串的内存存储形式

只要利用LenB、MidB、AscB等函数,即可输出字符串的内存存储形式。

范例如下所示。

getStringMemoryFormat.asp

<%
text = "今天下雪了。"
result = ""

'输出字节长度
response.write "字节长度:" & LenB(text) & "<br>"

'循环每一个字节
For i=1 To LenB(text)
    oneByte = MidB(text, i,1)       '得到一个字节
    number = AscB(oneByte)          '该字节对应的数字
    numberHex = Hex(number)         '数字的十六进制形式

    '如果十六进制形式只有一位,则前面补一个0
    If Len(numberHex) = 1 Then
            numberHex = "0" & numberHex
    End If

    '拼接结果
    result = result & " " & numberHex
Next
response.write result '输出结果
%>

运行结果如图2-4所示。

图2-4 字符串的内存存储形式

在VBScript运行时,每个字符在内存中都是以Unicode编码形式存在的,每个字符占用两个字节,所以该例中LenB函数返回了12。