*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

<C#> Encoding.UTF7プロパティによるUTF-7指定バイト型配列 <-> 文字列の変換


*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*


「バイト型配列 <---> 文字列の変換」

における一連の説明(知恵ノート)において、ここでは、

「ooo」

について説明します。






総合の目次


本ページを含めた関連事項の総合目次です。




関連サンプル


本サンプルと関連性のあるサンプルです。すなわち、前回や次回以降のサンプルです。

関連サンプル 1
「バイト型配列 <-> 文字列の変換 <ステップ1. 単純にそのまま変換>」
ooooooo


関連サンプル 2
「ASCIIEncodingクラスによるバイト型配列(ASCII) <-> 文字列の変換」
ooooooo


関連サンプル 3
「UnicodeEncodingクラスによるバイト型配列(Unicode) <-> 文字列の変換」
ooooooo



関連サンプル 4
「UTF32Encodingクラスによるバイト型配列(UTF-32) <-> 文字列の変換」
ooooooo



関連サンプル 5
「UTF7Encodingクラスによるバイト型配列(UTF-7) <-> 文字列の変換」
ooooooo



関連サンプル 6
「UTF8Encodingクラスによるバイト型配列(UTF-8) <-> 文字列の変換」
ooooooo



関連サンプル 7-1
「Encoding.ASCIIプロパティによるASCII指定バイト型配列 <-> 文字列の変換」
ooooooo



関連サンプル 7-2
「Encoding.UnicodeプロパティによるUnicode指定バイト型配列 <-> 文字列の変換」
ooooooo


関連サンプル 7-3
「Encoding.UTF32プロパティによるUTF-32指定バイト型配列 <-> 文字列の変換」
ooooooo


関連サンプル 7-4
「Encoding.UTF7プロパティによるUTF-7指定バイト型配列 <-> 文字列の変換」
ooooooo


関連サンプル 7-5
「Encoding.UTF8プロパティによるUTF-8指定バイト型配列 <-> 文字列の変換」
ooooooo


関連サンプル 7-6
「Encoding.DefaultプロパティによるANSIコード指定バイト型配列 <-> 文字列の変換」
ooooooo


関連サンプル 7-7
「Encoding.GetEncoding()メソッドによる文字コード指定バイト型配列(例Shift-JIS) <-> 文字列の変換」
ooooooo


関連サンプル 8
「Encoding.Convert()メソッドによる文字コード指定バイト型配列(例Shift-JIS) <-> 文字列の変換」
ooooooo


関連サンプル 9

「バイト型配列変換の各種サンプル」
関連サンプル9と、それ以降のサンプルもあります。総合目次から参照して下さい。(バイト型配列変換のサンプルは、総合目次上で複数個あります。総合目次から参照して下さい)






はじめに


ピクチャボックスに画像(ゲームのキャラクター画像等)を貼り付ける際に、その画像の4隅の座標位置を指定することが可能です。
すなわち、画像をゆがませて貼り付けることが可能です。
正確には、画像の左上隅、右上隅、左下隅の3点の座標位置をして、傾斜させた平行四辺形の画像として貼り付けることが可能です。

なお、画像の各隅の座標位置を指定することが可能と言うことは、画像を回転させて貼り付けることも可能です。
しかし、回転は、別の機会に行なうことにします。
今回の一連のサンプルでは、傾斜させた平行四辺形として画像を貼り付けるものとします。






関連サンプルと比べた特徴


下記の各種サンプルプログラムは、どれも画面遷移のイベント関連のサンプルです。ただし、イベントの扱い方が、各サンプルで異なります。詳しくは、下記に説明します。


関連サンプル 1
「バイト型配列 <-> 文字列の変換 <ステップ1. 単純にそのまま変換>」
バイト型配列と文字列データー(string型)の変換を行います。その変換は、string.ToCharArray()やChar.ConvertFromUtf32()メソッドを使って変換します。

関連サンプル 2
「ASCIIEncodingクラスによるバイト型配列(ASCII) <-> 文字列の変換」
バイト型配列(ASCII格納byte[])と文字列データー(string型)の変換を行います。その変換は、文字エンコード関連機能のSystem.Text.ASCIIEncodingクラスを使って変換します。これは、バイト型配列に格納する文字コードをASCIIで指定しています。

関連サンプル 3
「UnicodeEncodingクラスによるバイト型配列(Unicode) <-> 文字列の変換」
バイト型配列(Unicode格納byte[])と文字列データー(string型)の変換を行います。その変換は、文字エンコード関連機能のSystem.Text.UnicodeEncodingクラスを使って変換します。これは、バイト型配列に格納する文字コードをUnicode(UTF-16 形式のエンコーディング)で指定しています。


関連サンプル 4
「UTF32Encodingクラスによるバイト型配列(UTF-32) <-> 文字列の変換」
バイト型配列(UTF-32格納byte[])と文字列データー(string型)の変換を行います。その変換は、文字エンコード関連機能のSystem.Text.UTF32Encodingクラスを使って変換します。これは、バイト型配列に格納する文字コードをUTF-32で指定しています。


関連サンプル 5
「UTF7Encodingクラスによるバイト型配列(UTF-7) <-> 文字列の変換」
バイト型配列(UTF-7格納byte[])と文字列データー(string型)の変換を行います。その変換は、文字エンコード関連機能のSystem.Text.UTF7Encodingクラスを使って変換します。これは、バイト型配列に格納する文字コードをUTF-7で指定しています。


関連サンプル 6
「UTF8Encodingクラスによるバイト型配列(UTF-8) <-> 文字列の変換」
バイト型配列(UTF-8格納byte[])と文字列データー(string型)の変換を行います。その変換は、文字エンコード関連機能のSystem.Text.UTF8Encodingクラスを使って変換します。これは、バイト型配列に格納する文字コードをUTF-8で指定しています。


関連サンプル 7-1
「Encoding.ASCIIプロパティによるASCII指定バイト型配列 <-> 文字列の変換」
バイト型配列(ASCII格納byte[])と文字列データー(string型)の変換を行います。その変換は、文字エンコード関連機能のSystem.Text.Encoding.ASCIIプロパティを使って変換します。これは、バイト型配列に格納する文字コードをASCIIで指定しています。


関連サンプル 7-2
「Encoding.UnicodeプロパティによるUnicode指定バイト型配列 <-> 文字列の変換」
バイト型配列(Unicode格納byte[])と文字列データー(string型)の変換を行います。その変換は、文字エンコード関連機能のSystem.Text.Encoding.Unicodeプロパティを使って変換します。これは、バイト型配列に格納する文字コードをUnicode(UTF-16 形式のエンコーディング)で指定しています。



関連サンプル 7-3
「Encoding.UTF32プロパティによるUTF-32指定バイト型配列 <-> 文字列の変換」
バイト型配列(UTF-32格納byte[])と文字列データー(string型)の変換を行います。その変換は、文字エンコード関連機能のSystem.Text.Encoding.UTF32プロパティを使って変換します。これは、バイト型配列に格納する文字コードをUTF-32で指定しています。



関連サンプル 7-4

「Encoding.UTF7プロパティによるUTF-7指定バイト型配列 <-> 文字列の変換」
バイト型配列(UTF-7格納byte[])と文字列データー(string型)の変換を行います。その変換は、文字エンコード関連機能のSystem.Text.Encoding.UTF7プロパティを使って変換します。これは、バイト型配列に格納する文字コードをUTF-7で指定しています。


関連サンプル 7-5
「Encoding.UTF8プロパティによるUTF-8指定バイト型配列 <-> 文字列の変換」
バイト型配列(UTF-8格納byte[])と文字列データー(string型)の変換を行います。その変換は、文字エンコード関連機能のSystem.Text.Encoding.UTF8プロパティを使って変換します。これは、バイト型配列に格納する文字コードをUTF-8で指定しています。


関連サンプル 7-6

「Encoding.DefaultプロパティによるANSIコード指定バイト型配列 <-> 文字列の変換」
バイト型配列(ANSI コード格納byte[])と文字列データー(string型)の変換を行います。その変換は、文字エンコード関連機能のSystem.Text.Encoding.Defaultプロパティを使って変換します。これは、バイト型配列に格納する文字コードをANSI コードで指定しています。


関連サンプル 7-7
「Encoding.GetEncoding()メソッドによる文字コード指定バイト型配列(例Shift-JIS) <-> 文字列の変換」
バイト型配列(例Shift-JISコード格納byte[])と文字列データー(string型)の変換を行います。その変換は、文字エンコード関連機能のSystem.Text.Encoding.GetEncoding("shift_jis")メソッドを使って変換します。これは、バイト型配列に格納する文字コードをShift-JISで指定しています。


関連サンプル 8
「Encoding.Convert()メソッドによる文字コード指定バイト型配列(例Shift-JIS) <-> 文字列の変換」
バイト型配列(指定文字コード格納byte[])と文字列データー(string型)の変換を行います。その変換は、文字エンコード関連機能のSystem.Text.Encoding.Convert()メソッドを使って変換します。これは、バイト型配列に格納する情報において、文字コードを指定します。なお、エラー情報(警告)として、変換失敗やフォールバック発生の情報を得られます。


関連サンプル 9
「バイト型配列変換の各種サンプル」
上記までの各種サンプルの他にも、様々なサンプルを紹介します。





サンプルコード


ここで取り上げるサンプルは、なるべく複雑にならない範囲で、画像貼り付けを確かめられるものとします。






本サンプルの仕様概要


表示対象の画像は、

C:キャラクター.bmp

とします。
ちなみに、bmp ファイルでは無く、jpg ファイルでも可能です。

プログラムの仕様は、ボタンをクリックすると、画像(キャラクター画像)が表示されるものとします。
ただし、その画像は、傾斜させた平行四辺形として表示されます。



フォームデザイン等の前準備


コードを記述する前に、フォームのデザイン作成などの、以下の前準備を行なって下さい。

<プロジェクトの作成>
本サンプルの確認用に、新規にプロジェクトを作成して下さい。
プロジェクトの種類は、「Windowsフォームアプリケーション」です。

<フォームのデザイン>
デザイン画面で、ピクチャボックス(pictureBox)を1個と、ラベル(Label)を4個と、テキストボックス(TextBox)を2個と、ボタン(button)を1個貼り付けて下さい。
デザイン画面

 



<イベントプロシージャの作成>
デザイン画面のフォーム(ボタン等のコントロールが貼り付いていない無地の部分)をダブルクリックすることにより、Form1_Load() メソッドを作って下さい。次に、デザイン画面で先ほど貼り付けたボタン1(button1)をダブルクリックして、button1_Click() メソッドを作って下さい。

<クラスを書くためのソースファイルの作成>[プロジェクト] - [クラスの追加] で、「新しい項目の追加」画面を表示する。その画面の [ファイル名]欄に任意のファイル名(クラス用ソースファイルのファイル名)を記入する。[追加]ボタンをクリックする。なお、ここで作成されたソースファイルには、後述しますクラスのコード(「ooooooooooooクラスのソースコード」等)を記述します。




ソースコード


<Form1クラスのソースコード>


ooooo


<oooクラスのソースコード>


oooooo



<oooクラスのソースコード>



oooooo



<oooクラスのソースコード>



ooooo


<oooクラスのソースコード>



ooooooooooooooooooooooooooooooooo







コードの解説


サンプルコードの中に書かれていますコメントを読んで下さい。すなわち、コードの解説は、基本的にサンプルコードの中に書かれているコメントとします。



実行結果


ボタンをクリックすると、傾斜させた平行四辺形の画像(キャラクター画像)が表示されます。


実行画面

 









さいごに


本サンプルは、画面遷移でのデーター受け渡しにおける基礎的な範囲です。よって、総合目次から、引き続き各種サンプルを参照して下さい。