暇人おやじの暇なつぶやき
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
■文字型の相互変換を行う Byte配列←→String型文字列①
まずString文字列をバイト配列にするにはEncodingクラスの命令GetBytesを利用する そのためにあらかじめEncoding型の変数を定義する System::Text::Encoding^ sjis; エンコードはあらかじめ決められた方式があるが、日本語を利用するシフトJISコードなどを定義する場合には GetEncoding命令で文字コードを与えないとならない sjis= Encoding::GetEncoding( "shift_jis" ); この変数sjisを利用しByte配列へString型の文字列を変換して格納するには byte配列の準備 array<Byte>^b = gcnew array<Byte>(10); 次に、GetBytes命令でByte値を取得する b = sjis->GetBytes(sInput); 上記は10Byte分の領域を確保し、sinputの文字列を変換している 実際のコードは int main(array<System::String ^> ^args) { String^ sInput; System::Text::Encoding^ sjis= Encoding::GetEncoding( "shift_jis" ); sInput = Console::ReadLine(); array<Byte>^b = gcnew array<Byte>(sInput->Length); b = sjis->GetBytes(sInput); //sjis->GetBytes(sInput,0,sInput->Length,b,0); //array<Byte>^b = {0x00,0x12,0x34,0x56,0xAA,0x55,0xFF}; Console::WriteLine( HexTest::ToHexString( b ) ); Console::ReadLine(); return 0; } このような感じである これは25日のサンプルC++のサンプルで・・・(http://prg40age.blog.shinobi.jp/Entry/55/)を改良して、変換する文字列をコンソールから入力するようにしたものである PR |
カレンダー
カテゴリー
フリーエリア
最新CM
最新TB
ブログ内検索
|