技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營

贊助商

分類目錄

贊助商

最新文章

搜索

如何在JavaScript中輸出emoji表情符號【實(shí)例演示】

作者:admin    時間:2022-4-12 16:5:22    瀏覽:

在JavaScript編程中輸出emoji表情符號,這是一個很有趣的事情。如果你對此還不了解,那么有興趣可以看看,其實(shí)也不是很高深的東西,代碼寫起來也挺簡單的,都是平時自己熟悉的語法。本文將通過實(shí)例演示如何在JavaScript編程中輸出emoji表情符號。

表情符號的一個有趣之處在于,你可以將一些單個emoji表情符號組合成一個整體。同樣地,你也可以將復(fù)雜的emoji表情符號拆分為簡單的emoji表情符號。而這些,都可以用JavaScript輕松實(shí)現(xiàn)。

從編程的角度來看,表情符號是什么?

表情符號也是一個字符串。它不是一種新的數(shù)據(jù)類型,它們只是一個字符串。

 表情符號也是一個字符串

 而且,我們知道在計算機(jī)科學(xué)中,每個字符都對應(yīng)一個 Unicode 代碼。這是一個例子:

 每個字符都對應(yīng)一個 Unicode 代碼

我們可以從他們的官方網(wǎng)站獲取完整的 Unicode 列表。

https://home.unicode.org/

emoji表情符號修飾符

同時,我們也知道 Unicode 碼位是有限的,我們不可能為所有的 emoji 分配一個獨(dú)立的 Unicode 編碼。所以一些表情符號是由基本的表情符號加上表情符號修飾符組成的,例如:

 

 

 

表情符號 ZWJ 序列

即使使用表情符號修飾符,也不夠。例如,如果我們想用表情符號表達(dá)一對情侶,我們應(yīng)該怎么做?

一種解決方案是直接在 Unicode 中添加一個表示一對的符號,但是這種解決方案占用了太多的 Unicode 資源。為了方便,人們發(fā)明了 Emoji ZWJ(ZERO WIDTH JOINER) 序列,它允許我們將不同的 emoji 組合在一起。

比如男人加電腦就是男程序員,女人加電腦就是女程序員。

 

在拼接emoji的時候,我們需要用到一個特殊的連接器,即 U+200D ZERO WIDTH JOINER(ZWJ)。 

拼接emoji 

所以我們可以知道一件事:很多 emoji 不是一個單一的字符,而是由其他 emoji 和連接器拼接在一起的。

回到標(biāo)題

好吧,現(xiàn)在讓我們討論標(biāo)題中的問題。

??‍??‍??‍??也是一個表情符號序列,由女人??、男人??、愛?和嘴巴??組成。

其組成結(jié)構(gòu)如下:

 

這時候,當(dāng)我們在這個 emoji 上使用擴(kuò)展運(yùn)算符時,這個 emoji 會被分解成 8 個獨(dú)立的 Unicode 字符,其中 4 個也是 emoji,最后看起來就像我們的標(biāo)題所代表的那樣。 

 ??‍??‍??‍??

JavaScript 如何打印表情符號?

不同于普通的字母和數(shù)字,鍵盤上沒有對應(yīng)表情符號的按鍵。所以你不能直接通過鍵盤輸入表情符號。如果現(xiàn)在你想現(xiàn)在輸入這四個表情符號,你要怎么做呢?

 

在 JavaScript 中,我們可以將 Unicode 轉(zhuǎn)換為字符String.fromCodePoint()。靜態(tài)String.fromCodePoint()方法返回使用指定的代碼點(diǎn)序列創(chuàng)建的字符串。

 

它們在控制臺中打印后,我們就可以將它們復(fù)制并粘貼到其他地方。

實(shí)例演示

需要注意兩emoji表情符號合并的寫法。

<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js-emoji</title>
</head>
<body>
<script type="text/javascript">
document.write(String.fromCodePoint("0x1F469")); //表情1
document.write(String.fromCodePoint("0x1F4BB")); //表情2
document.write(String.fromCodePoint('0x1F469', '0x200D', '0x1F4BB')); //表情1+表情2
</script>
</body>
</html>

demodownload

不同平臺表情符號顯示可能不同

但你也應(yīng)該注意到一件事:相同的表情符號在不同的操作系統(tǒng)/應(yīng)用程序中可能有不同的表示。

 不同平臺表情符號顯示可能不同

總結(jié)

本文介紹了如何在JavaScript編程中輸出emoji表情符號的方法,其實(shí)就是使用了表情符號的 Unicode 編碼,然后通過轉(zhuǎn)換函數(shù)把它轉(zhuǎn)換成表情符號圖標(biāo)輸出,我們要做的,就是首先去獲得這個表情符號的 Unicode 編碼,而這個編碼是可以在本文中提供的 Unicode 官網(wǎng)里找到的。

相關(guān)文章

標(biāo)簽: emoji  表情符號  
相關(guān)文章
    x
    • 站長推薦
    /* 左側(cè)顯示文章內(nèi)容目錄 */