byte[] |
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS) |
読み:バイト-ブラケット-ブラケット- |
外語:byte[] |
品詞:名詞 |
|
概要 |
JavaやC#では、文字型はcharであり、文字列はchar型の配列か、またはStringクラスを使う。
またいずれの言語も、byte型とchar型は大きさが異なる。これは、内部では文字はUnicodeとして扱われているためである。
ファイル、あるいは外部デバイス等からバイト単位でのデータを得るときに、byte型の配列を用いることが多い。これを文字列型にするためには、別途変換が必要である。
特徴 |
Java |
Javaでは、byte[] は次のように定義して用いる。
byte[] bytestr = new byte[100];
byte[]→Stringは次のようにする(バイト文字列がUTF-8の場合)。
String str = new String(bytestr, "UTF-8");
逆に、String→byte[]は次のようにする。
byte[] bytestr = str.getBytes("UTF-8");
いずれも未対応の符号名の例外が生じることがあるため、try-catch構文で囲み、UnsupportedEncodingException をcatchする必要がある。
C# |
C#で、byte[]→Stringは次のようにする(byteがUTF-8である場合)。
string str = System.Text.Encoding.UTF8.GetString(bytestr);
C#で、String→byte[]は次のようにする(UTF-8にする場合)。
string str = "文字列";
byte[] bytestr = System.Text.Encoding.UTF8.GetBytes(str);
Encoding.* の * の部分を変えることで、変換先の符号を変えることができる。未対応の符号はビルドの時点でエラーとなるので、Javaと違って実行中に例外が飛ぶことはない。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |