怎么把UTF-8阿拉伯字母转换成CodePage 1001? - c#

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

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

myPrinter.PrintNormal(PrinterStation.Receipt, "\xFE8D");

我尝试了以下将字符串转换为codePage 864的方法:

Encoding enc = Encoding.GetEncoding(864);
byte[] arr = enc.GetBytes("السلام");

编码后我获得的字节arr值是{63,63,63,63,63,63},这是错误的值,甚至字节数也是错误的,因为它是双字节字符。

参考方案

未经测试,但是:

String s = Encoding.UTF8.GetString(bytes);
Encoding enc = Encoding.GetEncoding(1001);
byte[] arr2 = enc.GetBytes(s);

当然,如果您实际上是以字符串开头,请跳过第一行,但是由于您提到的是UTF-8,因此我假设使用二进制。

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

LeetCode题解计算机为什么是基于二进制的?

可以是三进制么?二进制有什么好处?题解:为什么叫电子计算机?算盘应该没有二进制

LeetCode题解统计城市的所有灯泡

这个是我刚毕业的时候,一个真实的面试题,这是一个开放题。题目描述:想办法,将一个城市的所有灯泡数量统计出来。题解:费米估算法1、如果某个城市常驻人口有1000万2、假设每5人居住在一套房里,每套房有灯泡5只,那么住宅灯泡共有1000万只3、假设公众场所每10人共享一只灯泡,那么共有100万只4、主要的这两者相加就得出了1100万只当然实际上这是估算的,具体应…

LeetCode题解黑白圆盘

一个圆盘被涂上了黑白二色,两种颜色各占一个半圆。圆盘以一个未知的速度、按一个未知的方向旋转。你有一种特殊的相机可以让你即时观察到圆上的一个点的颜色。你需要多少个相机才能确定圆盘旋转的方向?题解:可以用一个相机即可

LeetCode题解圆上任取三点构成锐角三角形的概率

来自字节跳动的一道几何题题解:1/4

特殊字符显示为æÃ,Ã¥ - javascript

我在C#中有一个变量,带有特殊字符,包括æøå。在C#中,我使用HttpUtility.HtmlEncode对其进行编码。然后,我使用JavaScript在我的网站上显示该变量。除æøå之外的所有特殊字符(引号等)均有效。在网站的源代码中,æøå字符如下所示:æ ø Ã¥ 但是,在浏览器中,它们…