0

0

将 JSON 导出为 CSV:关于 CSV 和 Unicode 的说明

PHPz

PHPz

发布时间:2024-07-27 08:31:19

|

770人浏览过

|

来源于dev.to

转载

将 json 导出为 csv:关于 csv 和 unicode 的说明

有多个JS库允许导出到excel。但是,如果我们想遵循极简主义方法来避免额外的依赖,该怎么办?

最简单的方法是从 JSON 生成 CSV,可以轻松在 Excel 中打开。

但是在展示转换逻辑之前,让我们先了解一下 CSV 是什么以及创建 CSV 文件时我们将使用哪种编码。

CSV 格式

此 RFC 4180 逗号分隔值 (CSV) 文件的通用格式和 MIME 类型指定了 CSV 格式的定义。请注意,这只是一个备忘录,因为 CSV 格式尚未正式标准化。

主要定义

  1. 每条记录位于单独的行上,由换行符 (CRLF) 分隔。
  2. 文件中的最后一条记录可能有也可能没有结束换行符。
  3. 标头应在整个文件中包含相同数量的字段。
  4. 每个字段可以用双引号括起来,也可以不用双引号括起来。
  5. 包含换行符(CRLF)、双引号和逗号的字段应该用双引号括起来。
  6. 如果使用双引号括住字段,则字段内出现的双引号必须通过在其前面加上另一个双引号来转义。

编码

在我的 JSON 数据中,我有来自 ISO Latin-1 (ISO/IEC 8859-1) 字符集的字符 æ å ø,在创建 csv 文件时必须考虑这些字符。

Copy.ai
Copy.ai

Copy.ai 是一个人工智能驱动的文案生成器

下载

需要考虑的 Unicode® 标准版本 15.0 的一些摘录。

Unicode 与 UTF-8/16/32

来自 Unicode® 标准版本 15.0:

  • Unicode 是书面字符和文本的通用字符编码标准,包含世界文字中的 149,186 个字符。
  • Unicode 字符以三种编码形式之一表示:32 位形式 (UTF-32)、16 位形式 (UTF-16) 和 8 位形式 (UTF-8)。
  • Unicode 联盟完全认可使用三种 Unicode 编码形式中的任何一种作为实现 Unicode 标准的一致方式。例如,重要的是不要陷入试图区分“UTF-8 与 Unicode”的陷阱。 UTF-8、UTF-16 和 UTF-32 都是实现 Unicode 标准编码字符的同等有效且一致的方式。

字节顺序标记 (BOM)

  • 用于字节顺序标记的字符 U+FEFF (UTF-8 EF BB BF) 被命名为零宽度不间断空格。
  • Unicode 纯文本的 UTF-16 和 UTF-32 编码形式对将数据写入文件时使用的字节顺序敏感。
  • 识别a开头的字节序列 数据流可以视为数据流正在使用 UTF-8 编码方案的近乎确定的指示。

简而言之,在 CSV 字符串之前添加零宽度不间断空格将强制 Excel 应用 UTF-8 编码而不是 1252:西欧 (Windows) 或 Excel 将选择的其他编码,以防 U+FEFF 字符不是提供.

我将在本系列的下一篇文章中展示使用零宽度不间断空格生成 CSV 文件和不使用零宽度不间断空格的 CSV 文件之间的区别...

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

412

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

533

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

309

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

258

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

208

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1465

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

619

2023.11.24

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号