.NET:读/写二进制字符串

时间:2010-10-14 05:31:24

标签: c# encoding ascii character

编辑:不回答;我自己找到了解决方案。

我有一些代码可以做到这一点:

using (var stream = new FileStream(args[1], FileMode.Create))
{
 using (var writer = new BinaryWriter(stream))
 {
  writer.Write(ip.Iso3166CountryCode);
  ...
 }
}

Iso3166CountryCodestring,有两个字符(“US”)。

当我尝试从文件中读取“US”时:

// line is a byte[] from the file with the first 1024 bytes
UnicodeEncoding.Default.GetString(line.Take(2).ToArray());

我没有得到“US”,我得到了一些奇怪的ASCII字符。如何从这个二进制文件中读取两个国家/地区代码字符?

编辑:永远不会。我将writer.Write(ip.Iso3166CountryCode)更改为writer.Write(UnicodeEncoding.Default.GetBytes(ip.Iso3166CountryCode))并且有效。

1 个答案:

答案 0 :(得分:1)

尝试将writer.Write(ip.Iso3166CountryCode)更改为writer.Write(UnicodeEncoding.Default.GetBytes(ip.Iso3166CountryCode)),这应该有用! :)