ANSIはASCIIの上位セットであるため、ANSIからASCIIへの直接変換は必ずしも可能ではない場合があります。
あなたはしかし、Encoding
を使用してUTF8に変換してみてください:もちろん
Encoding ANSI = Encoding.GetEncoding(1252);
byte[] ansiBytes = ANSI.GetBytes(str);
byte[] utf8Bytes = Encoding.Convert(ANSI, Encoding.UTF8, ansiBytes);
String utf8String = Encoding.UTF8.GetString(utf8Bytes);
をあなたはASCIIでUTF8を置き換えることができますが、それは本当に以来、意味がありません。
- 場合元の文字列に126以上のバイトが含まれていない場合は、すでにASCIIの文字列
- が含まれている場合、これらのバイトは失われます。
UPDATE:
更新質問に対して、あなたはこのようBinaryReader
を使用することができます。
BinaryReader reader = new BinaryReader(File.Open("foo.txt", FileMode.Open),
Encoding.GetEncoding(1252));
なぜあなたはそれをASCIIに変換したいと思いますか?その答えは実際に何に変換するべきかを明らかにするかもしれません... – Guffa