给定Unicode代码点的编号,如何获取该字符的字符串或CharSequence对象

本文介绍了给定Unicode代码点的编号,如何获取该字符的字符串或CharSequence对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!,我看过有关在Java中获取Unicode字符的代码点编号的问题和答案。例如,问题How can I get a Unicode character’s code?。,但我想要的正好相反:给定一个整数,如何获取分配给该code point数字的该字符的文本?,char原始数据类型没有任何用处,仅限于Unicode字符集的Basic Multilingual Plane。该平面表示以Unicode定义的大约前64,000个字符。但Unicode已经增长到现在定义的超过11.3万个字符,几乎是这个数字的两倍。分配给字符的数字范围超过一百万。基于16-bits,char限制在64K范围内,远远不够。,CharacterString类都提供了codePointAt方法来检查字符并返回表示Unicode中分配的代码点的int。我在寻找相反的东西。,给定int的,如何获取CharacterString的对象或CharSequence的某个实现,以便我可以加入到其他文本?,编写字符串文字时,可以使用带反斜杠-with-u的Unicode转义序列。但我感兴趣的是使用整数变量,软编码而不是硬编码Unicode字符。,您请求的对象是CharacterStringCharSequence的某个实现。,Character类实际上是legacy,只是原始char类型的对象包装器。char类型也是遗留的,在内部定义为限制为Unicode代码点的前64K的16位数字。Unicode现在为字符分配了两倍多的代码点,因此char无法表示大多数字符。,因此我们不能为Basic Multilingual Plane字符集之外的字符实例化Character对象。因此,作为一种解决办法,Character.toString( int )会生成一个包含单个字符的StringString可以处理任何和所有Unicode字符,而Character不能。,若要获取包含由int确定的单个字符的String对象,请将int传递给Character.toString()。,作为示例,我们使用FACE WITH MEDICAL MASK,U+1F637处的表情符号(十进制:128,567)。,将int基元变量转换为String。,或使用文字整数。,请参阅此code run live at IdeOne.com。,上面的代码可以工作,因为StringCharSequence的实现。,StringBuilder类提供了一个方法appendCodePoint,用于通过为其分配的Unicode代码点编号添加字符。Ditto用于线程安全StringBuffer。,这篇关于给定Unicode代码点的编号,如何获取该字符的字符串或CharSequence对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册