我需要一个使用多个代码页无法正确转换为ANSI的字符串

Owe*_*enP 1 testing unicode internationalization

我的.NET库必须将字符串封送到C库,该C库需要使用系统的默认ANSI代码页编码的文本.由于.NET支持Unicode,因此用户可以将字符串传递给未正确转换为ANSI的库.例如,在英语机器上,"デスクトップ"将变为"?????" 传递给C库时.

为了解决这个问题,我编写了一个方法,通过将原始字符串与使用ANSI代码页转换的字符串进行比较来检测何时发生这种情况.我想测试这个方法,但我确实需要一个保证不可编码的字符串.例如,我们在英语和日语机器(以及其他语言)上测试我们的代码.如果我编写测试以使用上面的日语字符串,当日语系统正确编码字符串时,测试将失败.我可以编写测试来检查当前系统的编码,但每次添加/删除新语言时我都会遇到维护噩梦.

是否存在不使用任何 ANSI代码页编码的unicode字符?如果失败了,是否可以使用来自足够不同代码页的字符构造字符串以保证失败?我的第一次尝试是使用汉字,因为我们没有覆盖中文,但显然日语可以转换我尝试过的汉字.

编辑我将接受现在提出格鲁吉亚字符串的答案,但实际上是期待一个来自不同语言的一些字符的结果.我不知道我们是否打算支持格鲁吉亚人,所以现在似乎还可以.现在我必须在每种语言上测试它.喜悦!

Ser*_*ier 5

有很多只有Unicode的语言.格鲁吉亚人就是其中之一.以下是格鲁吉亚语中的"英语"一词:ინგლისური您可以在CLDR DB的格鲁吉亚文件(ka.xml)中找到更多信息.