使用Lable展示emoji表情

2021-08-02 23:15:47 字數 1487 閱讀 7314

這裡是資訊的文字內容

其中的  1f380   3120e3  就是兩個表情,但這是16進製制的編碼方式,在label中是不會顯示表情的,我們就需要轉換編碼方式其實就是unicode編碼。

2.轉換編碼的之前需要把要轉換的文字拿出來,下面的**就是把上面的字串傳入。

- (nsstring *)filterhtml:(nsstring *)html

}return html;

}

3.其中轉碼為emoji編碼的方法,是nsstring的類別,下面是我從網上找到的**

h檔案

#import @inte***ce nsstring (emoji)

/** * 將十六進製制的編碼轉為emoji字元

*/+ (nsstring *)emojiwithintcode:(long)intcode;

/** * 將十六進製制的編碼轉為emoji字元

*/+ (nsstring *)emojiwithstringcode:(nsstring *)stringcode;

- (nsstring *)emoji;

/** * 是否為emoji字元

*/- (bool)isemoji;

@end

m檔案

#import "nsstring+emoji.h"

#define emojicodetosymbol(c) ((((0x808080f0 | (c & 0x3f000) >> 4) | (c & 0xfc0) << 10) | (c & 0x1c0000) << 18) | (c & 0x3f) << 24)

@implementation nsstring (emoji)

+ (nsstring *)emojiwithintcode:(long)intcode

return string;

}- (nsstring *)emoji

+ (nsstring *)emojiwithstringcode:(nsstring *)stringcode

// 判斷是否是 emoji表情

- (bool)isemoji

}} else if (self.length > 1)

} else else if (0x2b05 <= hs && hs <= 0x2b07) else if (0x2934 <= hs && hs <= 0x2935) else if (0x3297 <= hs && hs <= 0x3299) else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030 || hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b || hs == 0x2b50)

}return returnvalue;

}@end

lable標籤的使用

js取值 一般js獲取控制項值的方法都是document.getelementbyid id value,但是lable的話有些不一樣。到了客戶端就會成為 而只能用innertext和innerhtml來指定其顯示內容。所以取值的方法就 var id document.getelementbyid ...

使用EMOJI表情

由於ios系統支援日文中的字塊編碼,所以在uilable,uitextfield,uialertview等控制項中使用emoji表情編碼 emoji就是表情符號 詞義來自日語 e moji,moji在日語中的含義是字元 例如 plain view plain copy nsstring s nsst...

emoji表情存表

第一種修改資料庫編碼型別 為什麼我們設定表的的字元型別為utf8卻不能存放emoji呢?原來utf8可能是2或3或4個位元組,而mysql的utf8是3個位元組,存放乙個emoji是需要4個位元組的,自然不夠。mysql資料庫在5.5.3之後開始支援utf8mb4字符集,所以mysql版本是5.5....