【问题标题】:Decoding cp1251 to UTF-8 in javascript在 javascript 中将 cp1251 解码为 UTF-8
【发布时间】:2023-03-28 15:55:01
【问题描述】:

如何在javascript中将cp-1251解码为UTF-8?

cp-1251 来自数据源,需要从 js 客户端解码。

无法更改服务器端输出,因为它与第 3 方有关,并且由于某种原因,我不会使用任何服务器端编程将数据馈送转换为另一个数据馈送。

【问题讨论】:

标签: javascript cp1251


【解决方案1】:

(假设您所说的“UTF-8”指的是原生编码中的 JS 字符串...)

根据您的“cp-1251”数据的格式以及您需要支持的浏览器,您可以选择:

  • TextDecoder.decode() API(解码来自类型化数组的八位字节序列,例如 Uint8Array) - 如果您使用 Web 套接字,则可以从中获取 ArrayBuffer 进行解码。
  • https://github.com/mathiasbynens/windows-1251 对它称为“字节字符串”的东西进行操作(JS Strings 由 \u00XY 等字符组成,其中 0xXY 是编码字节。
  • 自己构建解码表 (example)

请注意,在大多数情况下(虽然不像 websockets 那样低级),在以 JS 字符串结束之前以正确编码读取数据可能更容易(例如,您可以force XMLHttpRequest to use a certain encoding even if the server misreports the encoding)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 2017-04-24
    • 2019-01-24
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多