编辑:不回答;我自己找到了解决方案。
我有一些代码可以做到这一点:
using (var stream = new FileStream(args[1], FileMode.Create))
{
using (var writer = new BinaryWriter(stream))
{
writer.Write(ip.Iso3166CountryCode);
...
}
}
Iso3166CountryCode
是string
,有两个字符(“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))
并且有效。
答案 0 :(得分:1)
尝试将writer.Write(ip.Iso3166CountryCode)
更改为writer.Write(UnicodeEncoding.Default.GetBytes(ip.Iso3166CountryCode))
,这应该有用! :)