【发布时间】:2021-09-17 20:03:59
【问题描述】:
我有一个配置错误的第三方服务,它输出如下字符串:
"SK Uni=C4=8Dov vs Prostejov"
我想即时替换它发送给我的所有错误字符,以便我的模块使用正确解码的字符串
我在这个网站 (https://www.compart.com/en/unicode/U+010D) 上发现 =C4=8D 子字符串对应于 utf-8 字符 č
https://www.compart.com/en/unicode/U+010D
č
...
UTF-8 Encoding: 0xC4 0x8D
UTF-16 Encoding: 0x010D
UTF-32 Encoding: 0x0000010D
...
但我找不到自动解码的方法。
我试过了:
>> String.fromCodePoint(0xc48d)
"쒍"
>> String.fromCodePoint("0xc4 0x8d")
RangeError
>> String.fromCharCode(0xc48d)
"쒍"
etc...
如果我使用 utf-16 代码,String.fromCodePoint(0x010D) 会输出正确的字符。
如何让它使用 utf-8 而不是 utf-16 代码?
我应该将我的字符串转换为 utf16 来实现我想要的吗?如果是这样,我该如何转换它?
【问题讨论】:
-
这让我想起了 RFC 2047 和引用的可打印编码。 dogmamix.com/MimeHeadersDecoder
-
是的,你是对的@Álvaro González,将其视为引用的可打印文件即可解决。谢谢。
标签: javascript utf-8 character-encoding