js字符串转化为十六进制问题

dzgwt2004 2008-06-24 10:25:28
收到字符串:狧X?狧X?5R
想转化十六进制字符:AA 48 58 3F 02 0B 31 31 4D 32 30 31 31 01 01 3F AA AA 48 58 3F 02 03 0D 0A 00

用javascript如何进行转化呢? 请教?

...全文
3570 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
liufeng9102 2011-07-13
  • 打赏
  • 举报
回复
function EnBase64ThreeDes (s) {
var r="";
var w = new Array();
var hexes = new Array ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");
for (var i=0; i<s.length; i++)
{
r += hexes [s.charCodeAt(i) >> 4] + hexes [s.charCodeAt(i) & 0xf];
}
return r;
//s是那串乱码r就是转换后的16进制字符串
}
恰恰这两天在做这个东西 呵呵 刚做完
豆虫 2011-07-13
  • 打赏
  • 举报
回复
js搞不了乱码~~~~~~乱码根本不能当字符串来看待
dzgwt2004 2008-06-24
  • 打赏
  • 举报
回复
实在没办法只能传到后台处理了
yixianggao 2008-06-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 muxrwc 的回复:]
LZ所期望的是转为16进制的 ASCII编码。。。^^[/Quote]
厉害厉害,学习学习
fxs_2008 2008-06-24
  • 打赏
  • 举报
回复
这个比罗复杂,一般为自写函数
或涉及内码转换

这个我觉得首先将字符转成能识别的编码,再转成内码或者直接转成内码(二进制),再转成16进制,识别的时要倨要有解码函数据,否则浏览器是不能识别的
muxrwc 2008-06-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yixianggao 的回复:]
HTML codeescape 方法
对 String 对象编码以便它们能在所有计算机上可读,

escape(charString)

必选项 charstring 参数是要编码的任意 String 对象或文字。

说明
escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。

字符值大于 255 的以 %uxxxx 格式存…
[/Quote]

LZ所期望的是转为16进制的 ASCII编码。。。^^
muxrwc 2008-06-24
  • 打赏
  • 举报
回复
IE ONLY有如下方法。
<script type="text/javascript">
var callback = function (s) {
alert(s.split('%').join('\n'));
};
var str = '狧X?狧X?5R';
//alert(('IE'+escape(str)).split(/(?:%u|%)/).slice(1).join('\n'));


//没有处理引号等问题
execScript('callback(HEX(ASC("' + str.split('').join('")) & "%" & HEX(ASC("') + '")))', 'vbs');
</script>
yixianggao 2008-06-24
  • 打赏
  • 举报
回复
escape 方法
对 String 对象编码以便它们能在所有计算机上可读,

escape(charString)

必选项 charstring 参数是要编码的任意 String 对象或文字。

说明
escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。

字符值大于 255 的以 %uxxxx 格式存储。

注意 escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。

escape也是编码,但是得到的结果似乎都与lz期望不符

是不是加密了,或者多次编码了?
muxrwc 2008-06-24
  • 打赏
  • 举报
回复
晕,重贴下。
<script type="text/javascript">
var str = '狧X?狧X?5R';
alert(('IE'+escape(str)).split(/(?:%u|%)/).slice(1).join('\n'));
</script>
muxrwc 2008-06-24
  • 打赏
  • 举报
回复
<script type="text/javascript">
var str = '狧X?狧X?5R';
alert(('IE'+escape(str)).split(/(?:%u|%)/).slice(1).join('\n'));
</script>
修改下IE下的去掉空node的问题。。。。

不知LZ所要的16进制是指什么。。。
现在的是UNICODE的16进制。
yixianggao 2008-06-24
  • 打赏
  • 举报
回复
js 中有 encodeURI(URIString) 和 encodeURIComponent(encodedURIString) 方法用于字符串编码,
但似乎都无法得到lz希望的结果。
muxrwc 2008-06-24
  • 打赏
  • 举报
回复
<script type="text/javascript">
var str = '狧X?狧X?5R';
alert(escape(str).split(/(?:%u|%)/).slice(1).join('\n'));
</script>
本文实例讲述了javascript实现的字符串十六进制表示字符串相互转换方法。分享给大家供大家参考。具体如下: 之所以写这个,是因为发现SQL注入和XSS中经常利用十六进制表示的字符串,比如 SELECT CONCAT(0x68656c6c6f); 得到的是hello <!DOCTYPE html> <html> <head> <title>Hex-Char Bi-Converter</title> </head> <body>

87,910

社区成员

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

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