是否有一组“Lorem ipsums”文件用于测试字符编码问题?

问题描述 投票:0回答:5

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

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

示例:

拥有一个

ISO 8859-1
编码的测试文件和
Windows-1252
编码的测试文件。 Windows-1252 必须触发区域 8016 – 9F16 中的差异。换句话说,它必须至少包含该区域的一个字符,以区别于 ISO 8859-1。

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

有这样一套针对字符编码问题的测试文件吗?

unit-testing character-encoding xunit
5个回答
42
投票

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

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

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

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

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

全语法列表包含详尽的摘要。任何人都愿意用简单的方式来概括它:

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

图书馆?


28
投票

尝试使用 ICU 测试套件文件怎么样?我不知道它们是否是您测试所需的,但它们似乎至少有相当完整的 UTF 映射文件:链接到 ICU 测试文件的存储库


8
投票

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

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

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


3
投票

有一些现成的全面 unicode 设置可直接下载

来自w3c

这里有一个很好的测试文件由 w3.org 提供,其中包括:数学、语言学、希腊语、格鲁吉亚语、俄语、泰语、符文、盲文以及许多其他内容在一个文件中:

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

剪掉 HTML 部分

如果您想获得“原始 txt 文件”而不用担心编辑器弄乱它,1)下载,2)尾+头,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 的更多内容

目录结构中上一层还有更多文件,仍在目录中

utf-8-test
:

来自github

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

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

同一个存储库中还有更多测试文件:

如果您不信任提交的文件并且想自己生成它,还可以使用生成器。

我个人的选择

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


1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.