簡単な質問があります。私たちが知っているように、これにChar
は 2 バイト (16 ビット)、Byte
1 バイト (8 ビット) が必要です。しかし、多くのプログラミング言語には、 に変換する関数がありChar
ますByte
。何も失うことなく変換Char
するにはどうすればよいですか?Byte
質問する
1415 次
2 に答える
3
C# および Java では、char は 16 ビットの Unicode 文字です。他の (古い?) 言語 (C、C++ など) では、char
s は ASCII 文字の 8 ビット表現です。これらの言語では、何も失うことなく型を変換することは理にかなっています。
C# では、char
s を 2 倍の s に変換するか、変換しようとしている s が Unicode s として記述された 8 ビットの s (ASCII テーブルを参照) であるbyte
と (実際に) 想定することができます。char
char
char
于 2012-10-30T09:29:55.947 に答える
1
不可能です。このような機能を備えた言語はないと思います。たとえば、Java には がありString.getBytes
、C# には がありEncoding.GetBytes
ますが、得られるbyte
のは ではなくbyte
です。この種の変換は、C での from からshort[]
to へのキャストに似てchar[]
います。非常に単純で、操作はなく、キャストするだけです。オブジェクト全体のサイズ (合計バイト数) は変わりません。何も失われません。
于 2012-10-30T10:07:13.830 に答える