Daily Archives: 2012年10月9日

[C#]ファイルの中身を2進数で出力するツール(TextToBinaryDigit.exe)

2012年10月9日 (カテゴリ: C#:)

ファイルの中身を2進数でダンプする必要があったので、勉強もかねてC#で作ってみました。 コマンドラインプログラムで、以下の様な感じで使います。 c:\> type c:\input.txt Hello world にほんご   c:\> type c:\input.txt | TextToBinaryDigit.exe 01001000 01100101 01101100 01101100 01101111 00100000 01110111 01101111 01110010 01101100 01100100 00001101 00001010 10000010 11…


続きを読む

[C#]StreamReaderのRead()がcharではなくintを返す理由

2012年10月9日 (カテゴリ: C#:)

ファイルなどのストリームからデータを1文字読み込むためのメソッドとしてRead()というものが有ります。このメソッドは”1文字”読み込むのだから戻り値はcharでよいはずなのですが、なぜかint型になっています。 なぜintを返すような仕様となっているのでしょうか? それは、Read()メソッドの戻り値は、ファイルから取得した文字に加えて、ファイルの終端(EOF)を返してくるからです。EOFというのは、読み込んでいるファイルがファイルの最後に達してしまい、それ以上読むべきデータが無い状況です。 (ちなみに、EOFに達している状態でさらにRead()をコールしても-1が返…


続きを読む

[C#]指定されたASCIIコードをstring型の文字列に変換する

2012年10月9日 (カテゴリ: C#:, )

C#で、数字で指定されたASCIIコードをstring型の文字列に変換する方法です。 基本的には、charにキャストした上でToString()をコールすれば良いです。 int data = 2; string ans = ((char)data).ToString();int data = 2; string ans = ((char)data).ToString(); これで、ans には0x02(制御コードのSTX)が入ります。 キャストを忘れると正しく動作しません。 以下のコードだとansには”2″(数字の2)が入…


続きを読む