そのため、C#で記述されたソフトウェアに変更を加えようとしていますが、実際には開発者ではありません。コードはクライアントからデータを読み取り、そこから値を取得します。私が見ている問題は、英語以外の文字を使用するクライアントからの値があると、それがぎこちなくなることです。問題のコードは次のとおりです。
public static string ReadNT(BinaryReader stream)
{
ret = "";
byte addByte = 0x00;
do {
addByte = ReadByte(stream);
if (addByte != 0x00)
ret += (char)addByte;
} while (addByte != 0x00);
return ret;
}
私が知る限り、それはストリームを通過し、文字列を取得するために1つずつ文字に変換しています。それに関する問題は、unicode/utf8では機能しないことです。これをutf8値で動作する文字列に変換する方法はありますか?