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

贊助商

分類目錄

贊助商

最新文章

搜索

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

作者:admin    時(shí)間:2022-4-12 16:5:22    瀏覽:

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

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

從編程的角度來看,表情符號(hào)是什么?

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

 表情符號(hào)也是一個(gè)字符串

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

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

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

https://home.unicode.org/

emoji表情符號(hào)修飾符

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

 

 

 

表情符號(hào) ZWJ 序列

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

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

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

 

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

拼接emoji 

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

回到標(biāo)題

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

??‍??‍??‍??也是一個(gè)表情符號(hào)序列,由女人??、男人??、愛?和嘴巴??組成。

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

 

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

 ??‍??‍??‍??

JavaScript 如何打印表情符號(hào)?

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

 

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

 

它們?cè)诳刂婆_(tái)中打印后,我們就可以將它們復(fù)制并粘貼到其他地方。

實(shí)例演示

需要注意兩emoji表情符號(hào)合并的寫法。

<!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

不同平臺(tái)表情符號(hào)顯示可能不同

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

 不同平臺(tái)表情符號(hào)顯示可能不同

總結(jié)

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

相關(guān)文章

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