に[]バイトから変換します。 バイナリファイルは、整数と文字が混在しています。 整数はそれぞれ1バイトで、各文字は2バイトとしてファイルに書き込まれます。各整数は、それを次の文字列に関連付けられている:YOU45YOUはGREAT //を見て、そうは、私は、次のコードを持っている文字列
は注意してください上にあるどのように
1HELLO:
は例えば、ファイルには、次のようなデータを持っています。だから、1は "HELLO HOW ARE YOU"、45は "あなたが偉大に見える"などと関連しています。
バイナリは、 'H'(および他の文字)がそれぞれ2バイトを取る一方、 '1'は1バイトしか取らないように書かれています。だからここ
は、ファイルが実際に含まれているものです:
0100480045..andので、相続人 に内訳:
01は、整数1 0048のための最初のバイトであるH」の2バイトであります私がしたいこと:(E = 0x45)ように
と... を私は私のコンソールは、このファイルのうち、人間が読める形式を印刷したい 『E ' 0045は、2バイト(Hはヘックスで48あります』)それは "1 HELLO HOW ARE YOU"を印刷し、次に "45あなたは偉大に見える"などを印刷します。 。
私は正しいことをしていますか?より簡単で効率的な方法がありますか? 私の行Console.WriteLine(Convert.ToString(b [pos]));何もしませんが、実際の文字ではなく整数値を出力します。ファイル内の整数はOKですが、文字をどのように読み込むのですか?
ご協力いただければ幸いです。 ありがとう
言語? – mkoryak
私は自分の答えを削除しました - その形式を決めた人はどう思いましたか? :boggled: –
整数フィールドは文字列とどのように区別されますか?文字をコードポイントU + 00FFより上にすることはできますか?整数を "0"にすることはできますか?整数は符号付きか符号なしですか? – outis