【问题标题】:Chrome extension string encodingChrome 扩展字符串编码
【发布时间】:2015-03-14 05:28:59
【问题描述】:

[在以下答案后编辑]

我对 chrome 扩展还很陌生。我正在使用各种 chrome chrome.* api(例如 chrome.tabs)。
例如。 chrome.tabs.onUpdated.addListener( func ) 通知标签何时更新。 回调函数具有 Tab 对象,该对象具有选项卡标题和 URL 等信息的各种属性。

我想知道这个字符串有什么字符串编码。 文档说 UTF-8。 Documentation link

即使网页编码不同,chrome 扩展是否保持相同的 utf-8 编码? 是否有用于检查编码的 chrome API?

我问这个是因为我想通过 Native Messaging Host 将这些字符串发送到远程进程。 将数据打包成 json 字符串并发送出去。 如果编码取决于网页编码,我似乎也必须发送编码信息。

【问题讨论】:

    标签: javascript unicode google-chrome-extension character-encoding


    【解决方案1】:

    在本机消息传递的范围内,您可以假设字符串是 UTF-8 编码的,因为 the native messaging protocol 明确指出

    双向发送消息使用相同的格式:每条消息都使用 JSON 进行序列化,UTF-8 编码,并且以原生字节顺序的 32 位消息长度开头。

    Chrome 扩展 API 通常与 UTF-8 一起使用。例如,如果内容脚本以 UTF-8 以外的任何其他方式编码,则不会加载它们。

    【讨论】:

    • 感谢您指出这一点。我在阅读文档时不知何故错过了这一点。这提出了一个问题,如果网页具有不同的编码,扩展程序是否在传输到本机消息传递主机时将其转换为 UTF-8?我会看看我是否可以进行一些测试。谢谢
    猜你喜欢
    • 1970-01-01
    • 2019-02-26
    • 1970-01-01
    • 2014-07-23
    • 2019-12-10
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    相关资源
    最近更新 更多