对于布局,我们有著名的“Lorem ipsum”文本来测试它的外观。
我正在寻找的是一组包含使用几种不同编码进行编码的文本的文件,我可以在 JUnit 测试中使用这些文件来测试在读取文本文件时处理字符编码的一些方法。
拥有一个
ISO 8859-1
编码的测试文件和 Windows-1252
编码的测试文件。 Windows-1252 必须触发区域 8016 – 9F16 中的差异。换句话说,它必须至少包含该区域的一个字符,以区别于 ISO 8859-1。
也许最好的测试文件集是每种编码的测试文件一次包含其所有字符。但也许我不知道……我们都喜欢这种编码的东西,对吧? :-)
有这样一套针对字符编码问题的测试文件吗?
关于 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();
//...
}
图书馆?
尝试使用 ICU 测试套件文件怎么样?我不知道它们是否是您测试所需的,但它们似乎至少有相当完整的 UTF 映射文件:链接到 ICU 测试文件的存储库
我不知道有任何完整的文本文档,但如果您可以从所有字符集的简单概述开始,可以在 ftp.unicode.org 服务器上找到一些文件
以 WINDOWS-1252 为例。第一列是十六进制字符值,第二列是 unicode 值。
ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT
有一些现成的全面 unicode 设置可直接下载。
这里有一个很好的测试文件由 w3.org 提供,其中包括:数学、语言学、希腊语、格鲁吉亚语、俄语、泰语、符文、盲文以及许多其他内容在一个文件中:
来自 w3.org 应该很好用,不是吗?
如果您想获得“原始 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
,无需人工干预,也没有丢失数据的风险。
目录结构中上一层还有更多文件,仍在目录中
utf-8-test
:
这里还有一个非常有趣的文件,其中包含所有可打印字符(包括中文、盲文、阿拉伯文等)
同一个存储库中还有更多测试文件:
如果您不信任提交的文件并且想自己生成它,还可以使用生成器。
我决定,对于我的项目,我将从 2 个文件开始:我从 w3c 中指出的特定文件和我从 github 存储库中按位指出的特定文件。
嗯,我使用在线工具从 Lorem Ipsum 创建文本字符集。我相信它可以帮助你。我没有在一页中包含所有不同字符集的页面。