0
我有串碼點像U+1F4DB
,我想將其轉換爲Unicode字符()。怎麼做 ?如何將像U + 1F4DB一樣的unicode代碼轉換爲char?
我有串碼點像U+1F4DB
,我想將其轉換爲Unicode字符()。怎麼做 ?如何將像U + 1F4DB一樣的unicode代碼轉換爲char?
你無法轉換到一個char
。該代碼點超出了可以用UTF-16表示爲單個16位元素的範圍。相反,它由代理對,兩個char
元素表示。在德爾福將它表示爲字符串
#$D83D#$DCDB
因爲可以通過此頁面可以看出端倪:http://www.fileformat.info/info/unicode/char/1f4db/index.htm
在實踐中,我認爲這將是簡單的字符粘貼到你的源代碼,一個字符串內,並將源代碼存儲爲UTF-8編碼。 IDE將自動提示。這是代表它作爲
''
在評論,你說清楚,要解析的形式的任意文本U + XXXX。提取數值並將其轉換爲整數。然後通過TCharHelper.ConvertFromUtf32
傳遞它。
感謝大衛,確定,但如何ü轉換+ XXX爲Unicode字符(或字符串)?我只有字符串文字u + xxxx,我需要轉換 – andrey
然後閱讀utf-16 spec規範。將代碼點值解析爲一個整數。如果它可以表示爲單個字符,則很簡單,否則請遵循代理對規則。 –
我發現,這是Tcharacter.ConvertFromUtf32 :)它返回一個字符串 – andrey