【问题标题】:Converting Binary Data to String [In Persian]将二进制数据转换为字符串 [波斯语]
【发布时间】:2013-05-20 14:29:05
【问题描述】:

我正在开发一个需要读取包含某些波斯名称/股票工具的二进制文件的系统。我需要将二进制数据转换为字符串以用于进一步的处理。我用谷歌搜索了它,并没有真正找到解决我的问题的方法。这里有谁曾在这种情况下工作过或知道如何解决这样的问题?

这是我用来将字节转换为字符串的代码(可能很简单):

byte[] data = binaryReader.ReadBytes(amountOfData);
string symbolRead = Encoding.ASCII.GetString(data);

仅供参考,我已尝试将系统区域设置更改为波斯语,但这也无济于事。虽然它确实允许我查看已经用波斯语书写的文本。

希望能找到解决办法。

谢谢。

【问题讨论】:

    标签: c# string binary persian


    【解决方案1】:

    不要使用ASCII 进行编码。设置语言环境后,首先尝试使用Default;然后尝试直接询问某人波斯最常用的编码是什么,并使用这个。

    【讨论】:

    • 如果您使用CultureInfo,我刚刚发现CultureInfo.TextInfo.ANSICodePage 应该与波斯文化和Encoding.GetEncoding(Int32) 一起使用,以获取正确的编码,而不管当前的语言环境如何。
    【解决方案2】:

    确定文件中使用的编码并使用相应的编码代替Encoding.ASCII.GetString(...)。可能的值可能是 Encoding.UTF8.GetString(...)Encoding.Default.GetString(...) 以使用您的系统编码。 See documentation of the Encoding class for other possibilities.

    【讨论】:

      猜你喜欢
      • 2017-02-07
      • 1970-01-01
      • 2021-02-24
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多