本文介紹了給定Unicode代碼點(diǎn)的編號,如何獲取該字符的字符串或CharSequence對象的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我看過有關(guān)在Java中獲取Unicode字符的代碼點(diǎn)編號的問題和答案。例如,問題How can I get a Unicode character’s code?。
但我想要的正好相反:給定一個整數(shù),如何獲取分配給該code point數(shù)字的該字符的文本?
char
原始數(shù)據(jù)類型沒有任何用處,僅限于Unicode字符集的Basic Multilingual Plane。該平面表示以Unicode定義的大約前64,000個字符。但Unicode已經(jīng)增長到現(xiàn)在定義的超過11.3萬個字符,幾乎是這個數(shù)字的兩倍。分配給字符的數(shù)字范圍超過一百萬。基于16-bits,char
限制在64K范圍內(nèi),遠(yuǎn)遠(yuǎn)不夠。
Character
和String
類都提供了codePointAt
方法來檢查字符并返回表示Unicode中分配的代碼點(diǎn)的int
。我在尋找相反的東西。
給定int
的?,如何獲取Character
、String
的對象或CharSequence
的某個實(shí)現(xiàn),以便我可以加入到其他文本?
編寫字符串文字時,可以使用帶反斜杠-with-u的Unicode轉(zhuǎn)義序列。但我感興趣的是使用整數(shù)變量,軟編碼而不是硬編碼Unicode字符。
推薦答案
tl;dr
String s = Character.toString( 128_567 ) ;