【发布时间】:2019-06-18 11:08:26
【问题描述】:
我一直在尝试将 twitter 嵌入代码编码到 base64 中,该代码可能包含也可能不包含一个或多个表情符号。因此,当字符串中有表情符号时,我会收到此错误:
Uncaught DOMException: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.
有什么我可以做的,当我在我的字符串上运行 btoa() 时,它会编码整个字符串,包括表情符号,当我在 php 中使用 base64_decode 对其进行解码时,表情符号会再次出现?
提前致谢!
【问题讨论】:
-
何必呢?它是一个文本字符串。它不是二进制的。将其转换为 ASCII 有什么意义?您通过什么系统传输无法处理 UTF-8 的数据?
-
@Quentin,它是使用 JavaScript 生成的短代码,然后由 PHP 解释。如果我直接传数据不编码的话,所有的引号都弄得一团糟,还没有找到逃避各种引号的办法。
-
JSON 是传统的
标签: javascript encoding base64