【发布时间】:2010-10-14 05:31:23
【问题描述】:
编辑:不要回答;我自己找到了解决方案。
我有一些代码可以做到这一点:
using (var stream = new FileStream(args[1], FileMode.Create))
{
using (var writer = new BinaryWriter(stream))
{
writer.Write(ip.Iso3166CountryCode);
...
}
}
Iso3166CountryCode 是一个带有两个字符(“US”)的string。
当我尝试从文件中读取“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)) 并且它有效。
【问题讨论】:
-
您可以回答自己的问题并将其标记为已接受。这比编辑您的问题以获得答案要好。
-
否则删除你的问题.....
标签: c# encoding ascii character