gpt4 book ai didi

javascript - javascript中的字符到十六进制

转载 作者:行者123 更新时间:2023-12-03 13:25:20 24 4
gpt4 key购买 nike

谁能指导我如何在javascript中将char转换为hex?
例如:

"入力されたデータは範囲外です。"
to
"\u5165\u529B\u3055\u308C\u305F\u30C7\u30FC\u30BF\u306F\u7BC4\u56F2\u5916\u3067\u3059\u3002"



This site does it

但是我想不通。

任何建议。

谢谢,萨博坦

最佳答案

您可以遍历字符并使用 charCodeAt函数来获取它们的 UTF-16 值,然后用它们构造一个字符串。

这是我构建的一些代码,它比您链接的网站上的代码要好得多,并且应该更容易理解:

function string_as_unicode_escape(input) {
function pad_four(input) {
var l = input.length;
if (l == 0) return '0000';
if (l == 1) return '000' + input;
if (l == 2) return '00' + input;
if (l == 3) return '0' + input;
return input;
}
var output = '';
for (var i = 0, l = input.length; i < l; i++)
output += '\\u' + pad_four(input.charCodeAt(i).toString(16));
return output;
}

让我们分解一下。
  • string_as_unicode_escape接受一个参数,input ,这是一个字符串。
  • pad_four是一个做一件事的内部函数;它用前导 '0' 填充字符串个字符,直到长度至少为四个字符。
  • 首先定义 output作为一个空字符串。
  • 对于字符串中的每个字符,附加 \uoutput字符串。使用 input.charCodeAt(i) 获取字符的 UTF-16 值, 然后用 .toString(16) 将其转换为十六进制字符串,然后用前导零填充它,然后将结果附加到 output字符串。
  • 返回output字符串。

  • 正如 Tim Down 所说,我们还可以添加 0x10000charCodeAt值,然后是 .slice(1)调用 .toString(16) 得到的字符串, 达到填充效果。

    关于javascript - javascript中的字符到十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5786483/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com