0
我擁有阿拉伯文內容,類似於各種各樣的東西。我想獲得給定字符串中所有形式的字母(初始,中間,最終或隔離)的Unicode代碼點。在JavaScript中獲得給定字符串的阿拉伯Unicode字符的4種不同形式(初始,中間,最終或孤立)
我擁有阿拉伯文內容,類似於各種各樣的東西。我想獲得給定字符串中所有形式的字母(初始,中間,最終或隔離)的Unicode代碼點。在JavaScript中獲得給定字符串的阿拉伯Unicode字符的4種不同形式(初始,中間,最終或孤立)
一個JavaScript庫(不是我)能爲你做到這一點:https://github.com/louy/Javascript-Arabic-Reshaper
這將只需要一個使用「通用」字符的字符串並返回所有正確的特定位置替換做了新的字符串爲你。從那裏,你可以抓住每個位置的字符代碼(或代碼點)。
下面是一個簡單的用法:
//import the library
var ArabicReshaper = require('arabic-reshaper');
// This can be a plain string. I just want to make sure I am feeding
// it the "plain" letter, not the initial/middle/end forms
var originalString = String.fromCharCode(0x0636, 0x0636); //ضض
// this will convert it to the 'shaped' letters. that means the letters
// will be transformed into the 'initial/middle/end' forms in the string
// (not just when it draws to the screen.
var newString = ArabicReshaper.convertArabic(originalString);
// And get the values. These will be the specific initial/middle/end values, not the generic ones
console.log(
newString.codePointAt(0).toString(16), // outputs febf
newString.codePointAt(1).toString(16) // outputs febe
);
你想要的每一個字符的代碼? – yogur
是@yogur。我需要知道所有字符unicodes –
字母的四種不同形式都有一個代碼,無論字母在單詞中的位置如何。字母的形狀由字體處理,而不是由unicode處理。在我的例子ضضضضضضض – yogur