斗胆问一句:在ASP中如何将字符串按照GB2312编码方式转换成byte数组?

bighedgehog 2005-06-07 10:00:41
刚才搜了一下,没找到答案,感觉应该不是很难吧,但我对ASP实在不熟,只好问一问了
其实也就是实现asp.net里的下面这个语句

byte[] bb = System.Text.Encoding.GetEncoding("GB2312").GetBytes("测试");

或者java里的

string.getbytes("GB2312")方法

...全文
79 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xhuad 2005-06-07
  • 打赏
  • 举报
回复
'把普通字符串转成二进制字符串函数
Function str2bin(varstr)
dim i, varchar, varasc
str2bin=""
For i=1 To Len(varstr)
varchar=mid(varstr,i,1)
varasc = Asc(varchar)
' asc对中文字符求出来的值可能为负数,
' 加上65536就可求出它的无符号数值
' -1在机器内是用补码表示的0xffff,
' 其无符号值为65535,65535=-1+65536
' 其他负数依次类推。
If varasc<0 Then
varasc = varasc + 65535
End If
'对中文的处理:把双字节低位和高位分开
If varasc>255 Then
varlow = Left(Hex(Asc(varchar)),2)
varhigh = right(Hex(Asc(varchar)),2)
str2bin = str2bin & chrB("&H" & varlow) & chrB("&H" & varhigh)
Else
str2bin = str2bin & chrB(AscB(varchar))
End If
Next
End Function
bighedgehog 2005-06-07
  • 打赏
  • 举报
回复
我试了一下这个函数,感觉不对劲阿

我在asp页中添加以下代码
<%=str2bin("gfsd")%>
输出结果为
晧摳

添加以下代码
<%=str2bin("测试gfsd")%>
输出结果为
Microsoft VBScript 运行时错误 错误 '800a000d'

类型不匹配: '[string: "&H B2"]'

/asp/str2bin.asp,行 20

也就是这一行:
str2bin = str2bin & chrB( "&H " & varlow) & chrB( "&H " & varhigh)

请问这个函数是返回字符串吗?

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧