我怎样才能解释下面提到的UTF-8范围

时间:2016-11-07 10:19:44

标签: java utf-8 utf

我来自if-loop

 if (((current >= 0x20) && (current <= 0xD7FF))
                || ((current >= 0xE000) && (current <= 0xFFFD))
                || ((current >= 0x10000) && (current <= 0x10FFFF))) {

            out.append(current);

        }

我正在尝试搜索这些范围所代表的内容,但我无法得到答案。你能帮我解释这些范围吗?

1 个答案:

答案 0 :(得分:1)

这些是空间上方的unicode字符的有效范围。 低于0x20是控制字符(包括新行和制表符) 在0xD800和0xDFFF之间用于编码字符&gt; 0xFFFF使用UTF-16。

注意:如果当前为char,则current >= 0x10000始终为false。如果currentint,那么out.append(current);将打印数字而不是字符。