unicode - java的中文到底占几个字节?
迷茫
迷茫 2017-04-17 14:55:26
0
3
853

查了一大堆,糊里糊涂的。现在知道以下几点:

  • java采用unicode编码,占两个字节,编码范围是0x0000到0xFFFF,但一共才65536个数,怎么可能表达世界上所有语言文字呢,于是又冒出来一个增补码,占4个字节,范围是0x100000到0x10FFFF。
    那么现在假设有一个中文,范围超出了65535,那么它到底是怎么编码的,占几个字节,是几个char?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(3)
左手右手慢动作
public static void main(String[] args) throws Exception{
    System.out.println("
いいねを押す +0
Ty80

通常我们会设置编码格式为UTF-8,中文在java中一个汉字表示两个字符,3个字节

    public static void main(String[] args) {
        String str = "测试";
        System.out.println(str.getBytes().length);
    }

输出: 6
对于不同的编码格式下所占用的字节数,可参考博客:
不同的编码格式下所占用的字节数

いいねを押す +0
黄舟

UTF-8三个
GBK两个

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!