1

このメソッドでバイトを文字に置き換えることは可能ですか:

byte[] sttrings = new byte[pntrs[i + 1] - pntrs[i]];
stream.Position = pntrs[i];
stream.Read(sttrings, 0, sttrings.Length);
Strs[i] = Encoding.GetEncoding("SHIFT-JIS").GetString(sttrings).Split('\0')[0].Replace("[FF00]", "/et");

0x00FF (16 進エディタでは FF 00) は、「/et」に置き換えたいバイトです。

4

1 に答える 1

2

ÿUnicode char 0x00FF ( ) を探していると仮定すると、 Unicode エスケープ文字`\uxxxx.

byte[] sttrings = new byte[pntrs[i + 1] - pntrs[i]];
stream.Position = pntrs[i];
stream.Read(sttrings, 0, sttrings.Length);
Strs[i] = Encoding.GetEncoding("SHIFT-JIS").GetString(sttrings).Split('\0')[0].Replace("[\u00FF]" , "/et");

バイト値を本当に置き換えたい場合は、 char[] を受け取る String コンストラクターを使用できる場合があります。

string replacementString = new String(new char[] {'[', '\0', (char)0xFF, ']'});
于 2013-07-02T19:38:00.093 に答える