CharsetUtil 的 UTF-32 解码格式

本文探讨了在Netty框架中使用字符解码工具类CharsetUtil的方法,详细介绍了常见的字符集如UTF_8、UTF_16、ISO_8859_1等,并解释了如何通过Charset.forName()方法调用未直接提供的UTF_32。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 在学习Netty的时候用到了 Charset 字符解码工具类

ctx.write(Unpooled.copiedBuffer("Hello, I am client!", CharsetUtil.UTF_8));

 从源码中可以看出常用的格式有:UTF_16,UTF_8,ISO_8859_1,US_ASCII。如果需要用到UTF_32,则无法直接调用。

public final class CharsetUtil {

    /**
     * 16-bit UTF (UCS Transformation Format) whose byte order is identified by
     * an optional byte-order mark
     */
    public static final Charset UTF_16 = Charset.forName("UTF-16");

    /**
     * 16-bit UTF (UCS Transformation Format) whose byte order is big-endian
     */
    public static final Charset UTF_16BE = Charset.forName("UTF-16BE");

    /**
     * 16-bit UTF (UCS Transformation Format) whose byte order is little-endian
     */
    public static final Charset UTF_16LE = Charset.forName("UTF-16LE");

    /**
     * 8-bit UTF (UCS Transformation Format)
     */
    public static final Charset UTF_8 = Charset.forName("UTF-8");

    /**
     * ISO Latin Alphabet No. 1, as known as <tt>ISO-LATIN-1</tt>
     */
    public static final Charset ISO_8859_1 = Charset.forName("ISO-8859-1");

    /**
     * 7-bit ASCII, as known as ISO646-US or the Basic Latin block of the
     * Unicode character set
     */
    public static final Charset US_ASCII = Charset.forName("US-ASCII");
}

 进一步查看Charset.forName()方法

public static Charset forName(String charsetName) {
        Charset cs = lookup(charsetName);
        if (cs != null)
            return cs;
        throw new UnsupportedCharsetException(charsetName);
}

CharsetUtil.UTF_32可以由Charset.forName("UTF-32")来替代。

CharsetUtil.UTF_8 = Charset.forName("UTF-32")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值