字符编码为什么要加上65535?

亚细亚 2020-04-23 10:52:28
在网上看到这个函数,理解不了iCode = iCode + 65535, 为什么要加65535?
 	
function toByte(Str)
dim i,iCode,c,iLow,iHigh
toByte=""
For i=1 To Len(Str)
c=mid(Str,i,1)
iCode =Asc(c)
' response.Write(iCode&"<br>")
If iCode<0 Then iCode = iCode + 65535
If iCode>255 Then
iLow = Left(Hex(Asc(c)),2)
iHigh =Right(Hex(Asc(c)),2)
toByte = toByte & chrB("&H"&iLow) & chrB("&H"&iHigh)
Else
toByte = toByte & chrB(AscB(c))
End If
Next
End function

...全文
363 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
renjnet 2020-04-30
  • 打赏
  • 举报
回复
引用 2 楼 亚细亚 的回复:
[quote=引用 1 楼 renjnet 的回复:] iCode =Asc(c) 这里读取这个字符的asc码,如果是汉字,则这个值就是负数,这时候就需要加65535,来获取他的编码了
那样的话,不就改变了汉字的编码了吗?[/quote] 你这是转成byte,加完65535后会转16进制处理,直到转成byte,跟改变没关系。
亚细亚 2020-04-29
  • 打赏
  • 举报
回复
引用 1 楼 renjnet 的回复:
iCode =Asc(c) 这里读取这个字符的asc码,如果是汉字,则这个值就是负数,这时候就需要加65535,来获取他的编码了

那样的话,不就改变了汉字的编码了吗?
renjnet 2020-04-28
  • 打赏
  • 举报
回复
iCode =Asc(c) 这里读取这个字符的asc码,如果是汉字,则这个值就是负数,这时候就需要加65535,来获取他的编码了

28,390

社区成员

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

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