【问题标题】:Convert byte array string back to a string将字节数组字符串转换回字符串
【发布时间】:2014-08-21 15:01:30
【问题描述】:

我在将字节数组字符串转换回文字时遇到问题。我正在从已转换为字节数组 (Encoding.Unicode.GetBytes(string)) 的 xml 文件中读取字符串。我没有开发 xml 导出。现在我想将值转换回字符串。

例如(注意是实字符串)

"AQwAtADQAMQA5AAwADEAfQAAA==" 返回"这是一个字符串!"

我知道使用了Encoding.Unicode.GetBytes(string) 编码。我的第一个想法是,读取两个值,计算字节值并将它们转换回 unicode 字符串。有没有更好的解决方案?谢谢。

【问题讨论】:

  • 我注意到“==”填充。有没有可能与base64编码相关?
  • 我也注意到了。我已经用你建议的方法检查过了。但剂量不起作用。我明天再检查一次。谢谢。

标签: c# arrays string unicode bytearray


【解决方案1】:

只要把它扔出去,以防数据以 base64 编码输入。

byte[] binaryData;
try {
      binaryData = 
         System.Convert.FromBase64String(base64String);
}
catch (System.ArgumentNullException) {
      //handling error
}

string myString = Encoding.Unicode.GetString(binaryData);

试一试。

阅读更多: http://msdn.microsoft.com/en-us/library/system.convert.frombase64string(v=vs.110).aspx

【讨论】:

  • 我已经尝试过了,但遗憾的是结果不是原始输入。
  • 只是另一个快速的想法。也许它是 utf8 或 utf32 而不是 unicode?​​span>
  • 我犯了一个大错...我使用了Encoding.UTF8.GetString 而不是Encoding.Unicode.GetString。谢谢!
猜你喜欢
  • 2021-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-18
  • 2021-11-11
  • 2013-05-12
  • 2018-10-31
相关资源
最近更新 更多