问题不难,就是不会,你说郁闷不?

南南北北 2007-07-30 06:14:16
使用javascript汉字转换成一个16进制数,例如:将汉字"中"转换成"0xD6D0".
"中"字,U+4E2D是它的unicode编码,那0xD6D0是什么啊?

...全文
195 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
btbtd 2007-07-31
  • 打赏
  • 举报
回复
其实你为什么不从服务端解决? 非要拿把锄头奔月....
btbtd 2007-07-31
  • 打赏
  • 举报
回复
.......这不是难不难的问题...
而是JS没有这个功能.....
南南北北 2007-07-31
  • 打赏
  • 举报
回复
找到个资料说:0xD6D0这个是gb2312编码,也就是中国的ANSI编码。

我试着把上面的VBScript的方法转换成javaScript,失败了。。。Asc在javaScript中对应的方法是什么啊?

有人帮忙把zilchxp()的Function URLEncoding(vstrIn)方法改成javaScript的没?俺实在不行了
mrshelly 2007-07-31
  • 打赏
  • 举报
回复
应该是内码...ANSI编码...
文盲老顾 2007-07-31
  • 打赏
  • 举报
回复
0xD6D0 这个看着象是 gb2312 的区位码
APM60- 2007-07-31
  • 打赏
  • 举报
回复
加前缀“0x”(零和x|X)表示 16 进制整型值。可以包含数字 0 到 9,以及字母 A 到 F(大写或小写)。使用字母 A 到 F 表示十进制 10 到 15 的单个数字。就是说 0xF 与 15 相等,同时 0x10 等于 16。
JS参考手册:http://download.csdn.net/source/204354
南南北北 2007-07-31
  • 打赏
  • 举报
回复
明白了,原来是没有这个功能啊。难怪我找了那么长时间,没找到。。。

其实你为什么不从服务端解决? 非要拿把锄头奔月....
我们现在做的东西是在IBM的Websphere commerce 解决方案下去开发的,后台一般只做扩展,不会直接修改,这个问题不大,不想扩展。

结帖,给分。
南南北北 2007-07-30
  • 打赏
  • 举报
回复
问题严重了,我在javascript里调用上面的方法,报错。
南南北北 2007-07-30
  • 打赏
  • 举报
回复
URLEncoding这个方法就能解决,但是我想要javascript写的,我不会vbscript...
zilchxp 2007-07-30
  • 打赏
  • 举报
回复
这是我找的unicode转码的函数,不知道对你有没有用

<SCRIPT language="VBScript"><!--
Function URLEncoding(vstrIn)
strReturn = ""
For i = 1 To Len(vstrIn)
ThisChr = Mid(vStrIn,i,1)
If Abs(Asc(ThisChr)) < &HFF Then
strReturn = strReturn & ThisChr
Else
innerCode = Asc(ThisChr)
If innerCode < 0 Then
innerCode = innerCode + &H10000
End If
Hight8 = (innerCode And &HFF00)\ &HFF
Low8 = innerCode And &HFF
strReturn = strReturn & "%" & Hex(Hight8) & "%" & Hex(Low8)
End If
Next
URLEncoding = strReturn
End Function

Function bytes2BSTR(arrBytes)
strReturn = ""
arrBytes = CStr(arrBytes)
For i = 1 To LenB(arrBytes)
ThisCharCode = AscB(MidB(arrBytes, i, 1))
//MsgBox(ThisCharCode)
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
//i = i + 1
//MsgBox(1111)
Else
NextCharCode = AscB(MidB(arrBytes, i+1, 1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
//MsgBox(strReturn)
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function
//MsgBox(bytes2BSTR("test"))
-->
</SCRIPT>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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