【问题标题】:Create UTF8 String from UTF Codes in Javascript在 Javascript 中从 UTF 代码创建 UTF8 字符串
【发布时间】:2017-05-20 15:26:33
【问题描述】:

我有 UTF8 的字节表示,例如

195, 156 for "Ü" (capital U Umlaut)

我需要从这些数字中创建一个用于在 JavaScript 中显示的字符串——我尝试的一切都失败了。 我发现没有任何方法将“195”识别为 UTF 前导字节,但给出了 mit“Ô。

那么如何从我的 UTF8 字节流中获取要显示的字符串?

【问题讨论】:

  • 195 是如何派生的?
  • 在 HTA 环境中使用 VBScript FileScriptingObject。
  • 因为解决方案也应该从服务器运行,所以我不能使用 ADODB(它可以完成这项工作)。使用 decodeURIComponent(escape(Text)) 转换结果仅适用于某些字符。看起来第二个 UTF8 字节的所有字符都在 128-159 范围内,导致 decodeURIComponent 崩溃。

标签: javascript utf-8


【解决方案1】:

您正在处理字符的单字节组件的十进制表示。对于给出的示例,您有 195、156。首先,您必须转换为基数 16 的 C3、9C。从那里你可以使用 javascript 的 decodeURIComponent 函数。

console.log(decodeURIComponent(`%${(195).toString(16)}%${(156).toString(16)}`));

如果您使用大量字符执行此操作,您可能希望找到一个实现字符串编码/解码的库。例如,节点的 Buffer 对象在内部执行此操作。

【讨论】:

    猜你喜欢
    • 2013-04-12
    • 1970-01-01
    • 2017-01-24
    • 2014-08-19
    • 2013-03-05
    • 1970-01-01
    • 2021-09-22
    • 2016-02-03
    • 2012-01-24
    相关资源
    最近更新 更多