关于汉字数据转json的时候什么时候需要转unicode什么时候不需要?

如题, 在将包含汉字的数据转json存的时候,什么时候需要转unicode存储,什么时候不需要
如下:
{"subject":"\u6395\u7268\u51ef\u86c1"}
{"subject":"吃饭了没"}

阅读 1.8k
2 个回答

目前来说基本没有任何情况需要。

很多编程语言里 JSON 序列化时默认会转义 Unicode 字符的目的,是为了让构成 JSON 的字符全部都可以用 ASCII 编码范围的内字符来表示。而无论何种字符编码,都一定是兼容 ASCII 的。

所以只有当你需要在两种彼此不兼容的字符编码系统中传输 JSON 时,才需要这么做,以避免乱码问题。而这基本是“上古”时代了,目前来说你的项目全都应该基于 UTF-8 才对,不转义反倒有利于节省传输时的开销。

就项目中的情况分享一下

  1. 目标不支持 UTF-8 或其他可以直接处理中文字符的编码方式,并且需要保证字符串在网络传输过程中不失真(即不能被截断、改变格式等),将字符转换为 Unicode 编码后再进行存储和传输。
  2. 如果在网站 对接中, 数据没有进行 Unicode 编码,手动将汉字进行处理(例如,使用 encodeURIComponent() 函数),以确保能正确地显示和处理汉字。
  3. 不仅仅是汉字还包括汉字的标点符号字符
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题