最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS中判斷Emoji表情問題

 更新時間:2016年06月27日 10:06:25   作者:歐陽劍心  
在項(xiàng)目中遇到ios判斷emoji表情的問題,下面小編把我的解決方案分享到腳本之家平臺供大家參考

先給大家說下問題描述

服務(wù)器端不支持Emoji表情,因此客戶端在上傳用戶輸入時,不能包含Emoji表情。

解決方案

在客戶端發(fā)送請求前,判斷用戶輸入中是否含有表情,如果含有表情,則提示用戶重新輸入。這個過程關(guān)鍵是如何判斷字符串中是否含有Emoji表情。要判斷是否含有Emoji表情,必須先了解什么是Emoji。

Emoji 是一套起源于日本的12x12像素表情符號,由栗田穣崇(Shigetaka Kurit)創(chuàng)作,最早在日本網(wǎng)絡(luò)及手機(jī)用戶中流行,自蘋果公司發(fā)布的iOS 5輸入法中加入了emoji后,這種表情符號開始席卷全球,目前emoji已被大多數(shù)現(xiàn)代計算機(jī)系統(tǒng)所兼容的Unicode編碼采納,普遍應(yīng)用于各種手機(jī)短信和社交網(wǎng)絡(luò)中。

以上是摘自百度百科里的一段話,Emoji表情最終會被編碼成Unicode,因此,只要知道Emoji表情的Unicode編碼的范圍,就可以判斷用戶是否輸入了Emoji表情。以下是具體代碼,我這里寫成了NSString的一個分類

@implementation NSString (Emoji)
+ (BOOL)stringContainsEmoji:(NSString *)string
{
__block BOOL returnValue = NO;
[string enumerateSubstringsInRange:NSMakeRange(0, [string length]) 
options:NSStringEnumerationByComposedCharacterSequences 
usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
const unichar hs = [substring characterAtIndex:0];
if (0xd800 <= hs && hs <= 0xdbff) {
if (substring.length > 1) {
const unichar ls = [substring characterAtIndex:1];
const int uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000;
if (0x1d000 <= uc && uc <= 0x1f77f) {
returnValue = YES;
}
}
} else if (substring.length > 1) {
const unichar ls = [substring characterAtIndex:1];
if (ls == 0x20e3) {
returnValue = YES;
}
} else {
if (0x2100 <= hs && hs <= 0x27ff) {
returnValue = YES;
} else if (0x2B05 <= hs && hs <= 0x2b07) {
returnValue = YES;
} else if (0x2934 <= hs && hs <= 0x2935) {
returnValue = YES;
} else if (0x3297 <= hs && hs <= 0x3299) {
returnValue = YES;
} else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030 || hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b || hs == 0x2b50) {
returnValue = YES;
}
}
}];
return returnValue;
}

本段代碼親測管用,歡迎大家參考。

以上所述是小編給大家介紹的iOS中判斷Emoji表情問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • iOS生成圖片數(shù)字字母驗(yàn)證效果

    iOS生成圖片數(shù)字字母驗(yàn)證效果

    這篇文章主要為大家詳細(xì)介紹了iOS生成圖片數(shù)字字母驗(yàn)證效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • iOS實(shí)現(xiàn)逐幀動畫做loading視圖

    iOS實(shí)現(xiàn)逐幀動畫做loading視圖

    這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)逐幀動畫做loading視圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • ios啟動頁強(qiáng)制豎屏(進(jìn)入App后允許橫屏與豎屏)

    ios啟動頁強(qiáng)制豎屏(進(jìn)入App后允許橫屏與豎屏)

    最近工作遇到這樣一個需要,當(dāng)進(jìn)入啟動頁需要強(qiáng)制豎屏,而進(jìn)入APP后就允許橫屏與豎屏,通過查找相關(guān)的資料找到了解決的方法,所以將實(shí)現(xiàn)的方法整理后分享出來,需要的朋友們可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • iOS自定義日期選擇器

    iOS自定義日期選擇器

    這篇文章主要為大家詳細(xì)介紹了iOS自定義日期選擇器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • iOS 配置.gitignore文件詳細(xì)介紹

    iOS 配置.gitignore文件詳細(xì)介紹

    這篇文章主要介紹了iOS 配置.gitignore文件詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • iOS如何獲取最頂層ViewController詳解

    iOS如何獲取最頂層ViewController詳解

    這篇文章主要給大家介紹了關(guān)于iOS如何獲取最頂層ViewController的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • iOS微信分享配置universal?links步驟解析

    iOS微信分享配置universal?links步驟解析

    這篇文章主要為大家介紹了iOS微信分享配置universal?links步驟詳細(xì)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • iOS中NSArray數(shù)組常用處理方式

    iOS中NSArray數(shù)組常用處理方式

    這篇文章主要介紹了iOS中NSArray數(shù)組常用處理方式,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • iOS實(shí)現(xiàn)計算器小功能

    iOS實(shí)現(xiàn)計算器小功能

    這篇文章主要介紹了iOS實(shí)現(xiàn)計算器小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 詳解iOS 計步器的幾種實(shí)現(xiàn)方式

    詳解iOS 計步器的幾種實(shí)現(xiàn)方式

    本篇文章主要介紹了詳解iOS 計步器的幾種實(shí)現(xiàn)方式,詳細(xì)的介紹了兩種可以獲取計步數(shù)據(jù)的方法,有興趣的可以了解一下
    2017-08-08

最新評論

淮安市| 友谊县| 晴隆县| 将乐县| 康保县| 勐海县| 会理县| 浮山县| 永善县| 平顶山市| 大新县| 嵊州市| 莱阳市| 中卫市| 张掖市| 丰原市| 砀山县| 凤庆县| 封开县| 麟游县| 颍上县| 宁武县| 双城市| 盘山县| 大埔区| 新郑市| 武安市| 普洱| 芒康县| 拉孜县| 来安县| 蓬莱市| 贵定县| 湘乡市| 上栗县| 德钦县| 永济市| 全椒县| 房产| 定日县| 平昌县|