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

标签 c# using

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

最佳答案

如果你的方法给你一个byte[]使用:

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

或者,也许

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

如果您的方法给您一个字符串,请执行以下操作:

// 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 阿拉伯语代码页进行编码)

关于c# - 如何将从条形码读取的文本转换为阿拉伯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18170590/

相关文章:

c# - 如何在 LINQ 中写这个

c# - 如何在C#中使用树数据结构

Python 等同于 C# 的 using 语句

c# - 在 C# 中列出类似于 C++ 中的 vector.reserve(n) 的内容

c++ - 将模板类拆分为头文件和实现文件时使用类型别名

c++ - C++ 命名空间的简洁语法

C# 是否可以将 DateTime 格式转换为整数或 float ?

c# - 替换数组中的值

AngularJS 如何使用路由删除 IE9 中的#符号

c# - 无授权 header