2013-05-09 72 views
1

在Unicode中實現不同語言的系統。條件是系統還必須接受Unicode字符(用於數字)並相應地處理它們。是否有可能將任何Unicode字符(代表數字)轉換爲合理的英文數字相當於?我如何非拉丁符號轉換成他們的拉丁同行

我怎樣才能實現在Javascript中?

編輯:我在網上搜索,發現unicode.org的圖表。有代碼對應於我想要的文字。現在,我如何從輸入的unicode字符串中讀取代碼?

+1

「將任何Unicode字符轉換爲合理的英文等效」沒有任何意義。你什麼意思? – dda 2013-05-09 17:21:35

+0

沒有字符,但數字,:) – cipher 2013-05-09 17:22:01

+0

你可以去耦從存儲演示(在本地語言環境)(在你的後端),以及兩者之間的轉換,你會十進制轉換爲二進制的方式相同。 – jefflunt 2013-05-09 17:24:22

回答

2

Unicode Database在第6-8列中包含有關數字值,十進制數字值和數字值的信息(如U+216E: ROMAN NUMERAL FIVE HUNDRED的數字值爲500)。

在JavaScript中使用這個,你可能會解析與其他一些語言,文件和轉儲你需要JSON或類似的信息,然後只是仰望的值從JavaScript的JSON。

Documentation of the Unicode Database file format

要麼你轉儲Unicode代碼點到您的JSON這樣"\u20ac"U+20AC,那麼你可以比較的字符,或者您可以使用someString.charCodeAt(somePosition).toString(16)到字符轉換爲十六進制字符串(如20ac)至從那裏比較。

+0

所以,你的意思是這樣的: var somestring =「0011」; // unicode的值 if(somestring.charCodeAt(0).toString(16)==「unicode_eqiv」){ //做些什麼! } ? – cipher 2013-05-09 17:53:11

+0

在Unicode代碼點和其字符串之間進行轉換並不是您的最終目標,儘管它可能是您結束的一種手段。您希望將非拉丁數字轉換爲它的ASCII範圍的Unicode等價物。您需要將梵文字符作爲字符串(或其代碼點值)映射到拉丁數字0-9(特別是如果您需要使用這些數字進行任何計算)。 – Tim 2013-05-09 18:06:19

+0

感謝您的信息。 :)我設計了另一個(和更簡單的解決方案): 'var str =「007」;/* unicode */ var newStr =「」;對於(i = 0; i cipher 2013-05-09 18:17:17