87

对于布局,我们有著名的“Lorem ipsum”文本来测试它的外观。

我正在寻找的是一组包含用几种不同编码编码的文本的文件,我可以在我的 JUnit 测试中使用这些文件来测试一些在读取文本文件时处理字符编码的方法。

例子:

有一个ISO 8859-1编码的测试文件和一个Windows-1252编码的测试文件。Windows-1252 必须触发区域 80 16 – 9F 16的差异。换句话说,它必须至少包含该区域的一个字符,才能将其与 ISO 8859-1 区分开来。

也许最好的测试文件集是每个编码的测试文件包含一次所有字符。但也许我不知道……我们都喜欢这种编码的东西,对吧?:-)

是否有这样一组用于字符编码问题的测试文件?

4

5 回答 5

42

维基百科关于变音符号的文章非常全面,不幸的是您必须手动提取这些字符。每种语言也可能存在一些助记符。例如在波兰语中,我们使用:

Zażółć gęślą jaźń

其中包含一个正确句子中的所有 9 个波兰语变音符号。另一个有用的搜索提示是pangrams使用字母表中每个字母的句子至少一次

  • 在西班牙语中,“ El veloz murciélago Hindu comía feliz cardillo y kiwi. La cigüeña tocaba el saxofón detrás del palenque de paja. ”(所有 27 个字母和变音符号)。

  • 在俄语中,“ Съешь же ещё этих мягких французских булок, да выпей чаю ”(全部 33 个俄语西里尔字母)。

pangrams 列表包含详尽的摘要。任何人都想把它包装成一个简单的:

public interface NationalCharacters {
  String spanish();
  String russian();
  //...
}

图书馆?

于 2012-02-08T09:23:54.923 回答
28

尝试使用ICU测试套件文件怎么样?我不知道它们是否是您的测试所需要的,但它们似乎至少有相当完整的往返 UTF 映射文件:Link to the repo for ICU test files

于 2012-02-16T12:41:56.730 回答
8

我不知道任何完整的文本文档,但是如果您可以从所有字符集的简单概述开始,那么ftp.unicode.org 服务器上有一些文件可用

这里以 WINDOWS-1252 为例。第一列是十六进制字符值,第二列是 unicode 值。

ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT

于 2012-02-10T22:40:03.567 回答
1

好吧,我使用在线工具从 Lorem Ipsum 创建了我的文本字符集。我相信它可以帮助你。我没有一个在一个页面中包含所有不同字符集的内容。

http://generator.lorem-ipsum.info/ _

于 2012-02-08T11:21:45.303 回答
1

有一些现成的综合 unicode 设置可以直接下载

来自 w3c

在这里,w3.org提供了一个很好的测试文件,其中包括:数学、语言学、希腊语、格鲁吉亚语、俄语、泰语、符文、盲文等,在一个文件中:

来自 w3.org 应该很好用,不是吗?

删除 HTML 部分

如果您想获得“原始 txt 文件”而不会有编辑器弄乱它的风险,1)下载,2)tail+head,3)检查差异:

wget https://www.w3.org/2001/06/utf-8-test/UTF-8-demo.html
tail +8 UTF-8-demo.html | head -n -3 > UTF-8-demo.txt
diff UTF-8-demo.html UTF-8-demo.txt

这会产生UTF-8-demo.txt无需人工干预且没有丢失数据的风险。

更多来自 w3c

目录结构中的上一层还有更多文件,仍在 dir 中utf-8-test

来自 github

这里也有一个非常有趣的文件,其中包含所有可打印的字符(包括中文、盲文、阿拉伯文等)

还想要不可打印的字符吗?

在同一个 repo 中还有更多的测试文件:

如果您不信任提交的文件并且想自己生成它,那么还有一个生成器。

我个人的选择

我已经决定,对于我的项目,我将从 2 个文件开始:我从 w3c 中指出的特定文件和我从 github 存储库中逐位指出的特定文件。

于 2021-08-17T22:25:28.787 回答