紀錄工作經驗、相關知識,解決技術相關問題。

Javascript, React, 新手 Jamp Holes, 未分類, 網站相關, 資訊相關

JavaScript 使用 String.fromCodePoint() 將 Unicode 轉字符

引言

在學習JavaScript過程中,處理字符串是一個基本而重要的技能。String.fromCodePoint()方法提供了一種強大的機制,用於根據給定的Unicode碼點生成字符串。這對於顯示各種語言的字符、符號甚至是表情符號特別有用。本文將為初學者介紹如何使用String.fromCodePoint(),包含易於理解的範例和實踐技巧。

簡單介紹: Unicode 是什麼

Unicode是一種計算機工業標準,旨在支持世界上所有書面語言的字符。每個字符都分配了一個唯一的代碼點(Code Point)。例如,英文字母“A”的Unicode代碼是U+0041

String.fromCodePoint() 簡介

String.fromCodePoint()是一個靜態方法,允許你根據一個或多個Unicode碼點生成一個字符串。這是處理JavaScript中Unicode字符的推薦方法,尤其是當處理超出基本多語言平面(BMP)的字符時。

String.fromCodePoint(num1[, ...[, numN]])

參數:

  • num1, ..., numN:一個或多個Unicode碼點。

返回值:

  • 一個由指定碼點組成的字符串。

JavaScript 中的 Unicode 轉字元

在JavaScript中,你可以使用特殊的Unicode轉義序列將Unicode代碼點轉換為字符。這通常涉及到\u後跟四位十六進制數,對於超出基本多語言平面(BMP)的字符,則需要使用六位數。

基本範例

// 將Unicode代碼轉換為字符
console.log('\u0041'); // 輸出: A

// 使用六位數Unicode代碼表示笑臉符號
console.log('\u{1F600}'); // 輸出: 😀(在支持ES6的環境中)

實用教學

讓我們來看一個將Unicode代碼轉換為字符的實際應用範例:

function unicodeToChar(unicode) {
  return String.fromCharCode(parseInt(unicode.substring(2), 16));
}

console.log(unicodeToChar('U+0041')); // 輸出: A

對於超過U+FFFF的Unicode代碼,使用 String.fromCodePoint() 方法:

function unicodeToChar(unicode) {
  return String.fromCodePoint(parseInt(unicode.substring(2), 16));
}

console.log(unicodeToChar('U+1F600')); // 輸出: 😀
// 創建一個包含地球表情符號和一顆心的歡迎信息
const message = String.fromCodePoint(0x1F30E) + " Welcome to JavaScript World! " + String.fromCodePoint(0x2764);
console.log(message); // 輸出: 🌎 Welcome to JavaScript World! ❤

結論

掌握 JavaScript 中的 Unicode轉換是處理國際化內容的關鍵步驟。JavaScript 中的 String.fromCodePoint() ,則是近一步處裡 Unicode 的常用方法。

通過上述範例和方法,你可以輕鬆地將Unicode代碼點轉換為人類可讀的字符,從而豐富你的Web應用或網站的多語言支持。別忘了實踐這些知識,透過編寫和測試你自己的代碼來加深理解。

發表迴響