| |
次のコードで文字列からbyte配列(SJIS)に変換が可能です。 | |
1
2
| string text = "文字列";
byte[] data = System.Text.Encoding.GetEncoding("shift_jis").GetBytes(text + "\0"); |
疑問に思われたかもしれませんが最後に"\0"をくっつけています。 stringには終端文字('\0')が存在しないので、何もしないとbyte配列に含まれない事態に陥ります。 ネイティブな関数に渡す場合に悲惨なことになるのでご注意ください。 ちなみに元の文字列textに"\0"をくっつけてしまうとC#で扱う場合面倒なことになるので GetBytesの時点でくっつけるのがベストだと思います。 | |