作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试将阿拉伯字符编码为 utf8 作为示例
string clientName="على";
Encoding iso = Encoding.GetEncoding(1256);
Encoding utf8 = Encoding.UTF8;
byte[] utfBytes = utf8.GetBytes(clientName);
byte[] isoBytes = Encoding.Convert(utf8, iso, utfBytes);
string clientNameArabic = iso.GetString(isoBytes);
但我认为这是不正确的所以,我需要帮助
最佳答案
您不需要将字符串转换为 Windows-1256
字符集。这只是:
// on server side(before sending as byte array)
var bytes = Encoding.UTF8.GetBytes(clientName);
// on client side(after reciving byte array)
clientName = Encoding.UTF8.GetString(bytes);
同样在大多数情况下(除了使用非常低级的 IO,如网络套接字或二进制文件流时)你根本不需要考虑编码转换,因为 UTF-8 是 . NET 高级 I/O 操作。
为了完成将普通 Unicode 字符串 على
转换为损坏的 mojibake 的怪异任务对于像 Óèïåçäèðÿ
这样的符号,您应该使用阿拉伯语 Windows 编码 (1256) 编写您的字符串,然后使用西欧 Windows 编码 (1252) 像这样读回它:
var source = "على";
var westernLatin = Encoding.GetEncoding(1252);
var arabic = Encoding.GetEncoding(1256);
var bytes = arabic.GetBytes(source);
var result = westernLatin.GetString(bytes); // Uáì
这里不需要使用UTF-8。
关于c# 如何将阿拉伯字符编码为utf8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33754753/
我在 mysql 数据库中有一个“价格”字段,其中包含以阿拉伯或波斯数字表示的产品价格。 数字示例:12345567890 //1234567890 我不知道如何格式化它以便以用户友好的方式格式化。我
由于单独使用 prawn gem 时阿拉伯字母显示为未知字符,因此我安装了 Arabic-Prawn gem 0.0.1 以阿拉伯语打印数据。我用下面的代码作为测试 Prawn::Document.g
我是一名优秀的程序员,十分优秀!