如何将从条形码读取的文本转换为阿拉伯文本

时间:2013-08-11 09:37:06

标签: c# using

我有条形码图像,类型为“pdf417”,它内容为阿拉伯语文字, 当使用条形码读取它时,通过这样的文本 “艾艾#” 如何将此文本转换为原始文本(阿拉伯语)

1 个答案:

答案 0 :(得分:6)

如果您的方法使用了byte[]

var str = Encoding.UTF8.GetString(yourBytes);

或者,或许

var str = Encoding.GetEncoding(1256) // 1256 is the Windows Arabic codepage
                  .GetString(yourBytes);

如果您的方法为您提供string,请执行以下操作:

// iso-8859-1 is a codepage that can be used to convert back some 
// malformed unicode strings
var str = Encoding.GetEncoding(1256)
                  .GetString(Encoding.GetEncoding("iso-8859-1")
                                     .GetBytes(yourString));

您在开头问题中的文字已转换为:

أحمد#المنير#محمد#فاطمه #حرستا 27-12-1949#

请注意,只有UTF8格式才能使条形码“通用”(因为UTF8可以代表所有Unicode字符)。 1256代码页将使您的条形码“区域化”(您必须知道条形码的编写位置,以便可以使用1256 Windows阿拉伯语代码页进行编码)