如何将UTF-8阿拉伯字母转换为CodePage 1001?

Abd*_*Haj 4 .net c# encoding character-encoding codepages

我有一个支持CodePage 1001阿拉伯语的Star Micronics TSP,如何使用C#将UTF-8转换为该特定代码页?

更新:我发现CodePage 864与打印机兼容,我尝试发送十六进制值,我得到了正确的字符,

myPrinter.PrintNormal(PrinterStation.Receipt, "\xFE8D");
Run Code Online (Sandbox Code Playgroud)

我尝试以下将字符串转换为codePage 864:

Encoding enc = Encoding.GetEncoding(864);
byte[] arr = enc.GetBytes("??????");
Run Code Online (Sandbox Code Playgroud)

我在编码之后得到的字节arr值值{63,63,63,63,63,63}是错误的,甚至字节数也是错误的,因为它是一个双字节字符.

Mar*_*ell 5

未经测试,但是:

String s = Encoding.UTF8.GetString(bytes);
Encoding enc = Encoding.GetEncoding(1001);
byte[] arr2 = enc.GetBytes(s);
Run Code Online (Sandbox Code Playgroud)

当然,如果你实际上是以字符串开头的话,请跳过第一行,但是因为你提到了UTF-8,所以我假设是二进制.

显然,对于大数据量,您可以使用TextReader/ TextWriter(每个都带有编码) - 但同样的想法.