`
feixingfei
  • 浏览: 45335 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
  • calosteward: 感谢分享,我还找到了另一个也是可以用于c#的代码,是一个英文网 ...
    PDF合并

code point

 
阅读更多
一个完整的Unicode字符叫CodePoint
一个Java char 叫代码单元code unit;
The Unicode standard was originally designed as a fixed-width 16-bit character
encoding. It has since been changed to allow for characters whose representa-
tion requires more than 16 bits. The range of legal code points is now U+0000 to
U+10FFFF, using the hexadecimal U+n notation. Characters whose code points are
greater than U+FFFF are called supplementary characters. To represent the complete
range of characters using only 16-bit units, the Unicode standard defines an
encoding called UTF-16. In this encoding, supplementary characters are represented
as pairs of 16-bit code units, the first from the high-surrogates range,
(U+D800 to U+DBFF), the second from the low-surrogates range (U+DC00 to
U+DFFF). For characters in the range U+0000 to U+FFFF, the values of code points
and UTF-16 code units are the same.
The Java programming language represents text in sequences of 16-bit code
units, using the UTF-16 encoding. A few APIs, primarily in the Character class,
use 32-bit integers to represent code points as individual entities. The Java platform
provides methods to convert between the two representations.
(From JLS-3.0)
int 值表示所有 Unicode 代码点,包括增补代码点。int 的 21 个低位(最低有效位)用于表示 Unicode 代码点,并且 11 个高位(最高有效位)必须为零。
为什么只用21位就可以了呢?
合法代码点 的范围现在是从 U+0000 到 U+10FFFF
代码点大于 U+FFFF 的字符称为增补字符,范围是0x10000到0x10ffff
0000 0001 0000 0000 0000 0000
0001 0000 1111 1111 1111 1111
可见增补字符只用到了int类型的后21位


分享到:
评论

相关推荐

    jis-codepoint-table:JISX02080213-Unicode表

    @ japont / jis-codepoint-table JISX0208 / 0213-Unicode表。 安装 npm i @japont/jis-codepoint-table # -- OR -- yarn add @japont/jis-codepoint-table 用法 const { Table } = require ( "@japont/jis-code...

    is-fullwidth-code-point:检查给定Unicode代码点表示的字符是否为全角

    //=> false原料药isFullwidthCodePoint(codePoint)codePoint 类型: number 字符的。 Tidelift帮助维护人员实现开源的可持续发展,同时为公司提供帮助有关其依赖项的安全性,维护和许可的保证。

    java常用char,string函数

    - `codePoint`:一个整型变量,表示要计算的Unicode代码点。 - **返回值**:如果`codePoint`可以由一个`char`表示,则返回1;如果需要两个`char`来表示,则返回2。 2. **charValue()** - **功能**:此方法用于...

    JAVA中字符-字符串常用的方法.doc

    - `codePoint`: 指定的Unicode代码点。 - **返回值**: 表示所需`char`值的数量的整数。 ##### 2. `char charValue()` - **功能**: 返回`Character`对象的值。 - **返回值**: 当前`Character`对象所表示的`char`值...

    C#实现字符串全角半角转换类

    if (codePoint >= 0x20 && codePoint ) { codePoint += 0xFEE0; } else if (codePoint == 0x20) { codePoint = 0x3000; } } else { if (codePoint >= 0xFF01 && codePoint ) { codePoint -= 0xFEE0; ...

    android EditText禁止输入法表情

    (codePoint >= 0x1F680 && codePoint ) || // transport & map symbols (codePoint >= 0x2600 && codePoint ) || // miscellaneous symbols (codePoint >= 0x2700 && codePoint ); // Dingbats } } ``` 接下来...

    基于C++ Qt实现的一款用于开发人员查看预览各种ttf字体/图标图像格式的小工具源码,界面简单清晰,操作便携

    关于codepoint参数存在以下合法输入: 1、输入单个字符,此时ttfviewer会显示该字符unicode对应在目标ttf文件中的图像 2、输入0x或0X开头的16进制unicode码值,此时ttfviewer会显示该unicode码值对应在目标ttf文件中...

    java代码产生汉字库

    Java代码生成汉字库是一个涉及到字符编码、汉字处理和随机生成技术的编程任务。在这个项目中,开发者使用Java语言创建了一个程序,能够按照GB2312、GBK、Unicode和UTF-8这四种常见的汉字编码标准生成汉字库。...

    icu4c-4_4_1-src.zip_C++ icu4c_C++ icu4c使用_icu_icu for java

    ICU是多国语言处理最权威的跨平台跨语言开发包,涉及多语种处理的方方面面。也是Unicode组织官方推荐的开发包。Java底层的多语言处理就是采用ICU4j。因为Java内核已经集成进去了,Java程序员可以在这方面少花许多...

    字符串处理-如何生成高考填报志愿时的姓名区位码-Python实例源码.zip

    在这个例子中,`get_gb2312_codepoint`函数接受一个汉字,返回其区位码的区号和位号。`ord(char)`获取字符的Unicode编码,`hex()`将其转换为十六进制字符串,`[2:]`切片去掉前缀'0x',`zfill(4)`填充零使得结果始终...

    C#字符串与unicode互相转换实战案例 c#经典案例.pdf

    通过这种方式,可以直接操作字符的CodePoint,这在处理特定字符集或进行复杂的Unicode字符操作时非常有用。具体来说,可以利用`char.GetUnicodeCategory`等API来获取更多关于字符的信息。 ### 总结 通过对以上几个...

    汉字跟Unicode 互相 转化 C# 代码

    Console.WriteLine($"字符'{c}'的Unicode码点是{codePoint}"); } ``` 反之,将Unicode字符串转换为UTF-8编码: ```csharp string unicodeString = "汉字"; // 假设这是Unicode字符串 byte[] utf8Bytes = Encoding...

    字符集——几种编码.doc

    每一个字母表中的每一个抽象的字母,都被赋予了一个数字,如 U+0645,这个叫做 codepoint。 Unicode 中 code point 的数字的大小是没有限制的,而且也早就超过了 65535。所以不是每个字符都能存储在两个字节中。...

    c/c++采用编码转换表实现gbk与unicode互转

    在编程领域,字符编码是处理文本数据的关键环节。GBK和Unicode是两种常见的字符编码标准,它们各有特点,适用于不同的场景。在C/C++编程中,我们有时需要在GBK(国标扩展码)和Unicode之间进行转换,以确保数据在...

    Point Code Converter

    二进制,八进制,十进制,十六进制,8-8-8,3-8-3,7-7,换算器

    python修改特征码-记录一个开头带有#x的特征数据的解码python基础教程pytho .pdf

    Numeric Character Reference是一种表示Unicode字符的方法,它通过字符的Unicode code point来替代实际的字符。当字符无法直接显示或处理时,NCR就派上了用场。例如,空格在NCR编码中通常表示为`\xA0`,其中`\x`表示...

    char,string全部函数方法说明

    `Character`类还提供了许多关于Unicode字符属性的方法,如`getDirectionality(char ch)`和`getDirectionality(int codePoint)`,它们返回字符的方向属性,这对于处理文本流的方向性(如从左到右或从右到左)很重要。...

    浅谈Unicode与JavaScript的发展史

    它从0开始,为每个符号指定一个编号,这叫做”码点”(codepoint)。比如,码点0的符号就是null(表示所有二进制位都是0)。 代码如下:U+0000 = null 上式中,U+表示紧跟在后面的十六进制数是Unicode的码点。 ...

    java 中文Unicode转换

    System.out.println("\\u" + String.format("%04X", codePoint)); } ``` 这段代码会输出中文字符"你好"对应的Unicode编码。 另一方面,要从Unicode编码还原为中文字符,可以使用`Character`类的`forName()`方法,...

    汉字与16进制互相转换,c#

    string hexString = codePoint.ToString("X4"); // 转换为16进制字符串,X4表示使用四位16进制 ``` 反过来,如果我们有一个16进制字符串,我们也可以将其转换回汉字。这通常涉及到解析16进制字符串,然后使用`int....

Global site tag (gtag.js) - Google Analytics