使用VB.NET进行Unicode转换的字符串

时间:2009-11-12 13:36:40

标签: vb.net string unicode

如何在不知道源编码的情况下将希腊字符串转换为使用VB.NET的Unicode?

1 个答案:

答案 0 :(得分:0)

不知道你不能做一些非常可靠的事情。 但如果您确定它将是希腊语,那么您可以尝试支持的希腊语代码页:

  • windows-737 = OEM - 希腊语437G
  • windows-869 = OEM - 现代希腊语
  • windows-875 = IBM EBCDIC - 现代希腊语
  • windows-1253 = Windows - 希腊语
  • windows-10006 = MAC - 希腊语I
  • windows-20423 = IBM EBCDIC - 希腊语
  • windows-28597 = ISO 8859-7希腊语

最可能的是1253(不是上面的1250)。 但你可以尝试所有这些,当时只有一个,然后检查结果字符是否在希腊语中(如果你想接受它,可能是拉丁语)。

对于验证,您可以将RegExp与\ p(http://msdn.microsoft.com/en-us/library/az24scfc.aspx#character_classes)一起使用并使用所需的Unicode块(http://msdn.microsoft.com/en-us/library/20bw873z.aspx#SupportedNamedBlocks)。

你可以试试[\ p {IsBasicLatin} \ p {IsGreek}] *(也许可以添加IsGreekExtended,尽管你不会从任何列出的代码页中得到它。)

如果你得到别的东西(让我们说西里尔语),你知道你的代码页错了。

很抱歉,但在不知道代码页的情况下,您所做的就是猜测。而且你可以做很多事情来改善猜测。