在包含JSON的文件中定义文本编码

时间:2014-04-25 16:09:08

标签: json content-encoding

我的应用程序将配置数据(包括UI的字符串)存储在包含JSON的文本文件中。例如,config.json可能包含以下内容:

{
   "CustomerName" : "Omni Consumer Products",
   "SubmitButtonText": "Click here to submit",
   // etc etc etc..
}

此文件发送给我们的翻译供应商,该供应商使用多种支持的语言对其进行重复。他们可能正在构建自己的应用程序,或者他们可能正在编辑文本编辑器。我不知道。

由于我们将在某些语言中使用各种非ASCII字符,因此我们希望确保每个人都清楚我们正在使用的字符编码。

因此,如果这是一个XML文件,我会在文件顶部粘贴以下声明:

<?xml version="1.0" encoding="UTF-8"?>

任何合理的文本编辑器或XML解析器都会看到这一点并知道该文件是以UTF-8编码的。

我可以在JSON文件的顶部放置任何类似的标准,并且可以合理地确保消费者能够很好地使用它吗?

1 个答案:

答案 0 :(得分:1)

JSON的默认编码是UTF-8:

http://www.ietf.org/rfc/rfc4627.txt

从第3节开始:

  

JSON文本应以Unicode编码。默认编码为UTF-8。

     

由于JSON文本的前两个字符始终为ASCII字符[RFC0020],因此可以确定八位字节流是UTF-8,UTF-16(BE还是LE)还是UTF-32(BE)或者LE)通过查看前四个八位字节中的空值模式。

此判断是明确的,因此没有特殊的地方以格式本身描述编码。