2015-06-15 55 views
0

您將不得不忍受這一點,因爲我對編碼知之甚少,因此可能會提出一些非常簡單/明顯的問題。我正在瀏覽器端JavaScript中使用一些SVG字體,我需要從語法上提取西里爾字符的一些信息。SVG字體中的Cyrllic字符

我目前正在與拉丁字符,這是很容易這樣做,因爲它們是存儲像這樣:

<glyph unicode="I" horiz-adv-x="573" d="M139 0v1513h281v-1513h-281z" /> 

我可以解析XML和做的「我」來獲得我所需要的信息的匹配。但是,我在XML中看不到任何西里爾文字符。我可以按以下格式看到許多人物:

<glyph unicode="&#x25fc;" horiz-adv-x="1136" d="M0 0v1137h1137v-1137h-1137z" /> 

我不知道在Unicode屬性代碼表示(比Unicode格式字符等明顯)。

任何人都可以推薦我如何可以將西里爾字符轉換爲這種格式?例如字符п

UPDATE

我只是做了一點挖掘,發現在維基百科上的文章與Unicode字符的列表。查看this list,您可以看到有一列名爲「Decimal」的列與上面示例中的格式相匹配。但是,如果你去section of the list of Cyrillic chars沒有提及十進制代碼。這是因爲沒有人在維基上輸入這些信息?

回答

1

п&#1087;

爲了得到一個Unicode字符的代碼點在JavaScript中,你可以使用String.prototype.codePointAt方法,你的情況只需鍵入到開發者控制檯,這樣的:

"п".codePointAt(0) 
// 1087 

爲其他轉換方式:

String.fromCodePoint(1087) 
// "п" 

在你的例子中的格式,&#x...是一個以十六進制表示法編號,所以"п"也可以表示爲&#x43f。轉換:

(1087).toString(16) 
// 43f 

所以在您的評論的字符&#xa8;¨

String.fromCodePoint(parseInt('a8', 16)) 
+0

好了十分感謝,很多字符代碼似乎是這種格式'¨'你知不知道基地那個號碼在? – jcvandan

+0

@jcvandan這是一個十六進制符號,編輯到答案的細節:) – pawel

+0

偉大的信息,非常感謝 – jcvandan