c++如何判断Emoji表情

双鱼小菜鸟 2016-07-23 04:48:39
c++如何判断Emoji表情,求代码
...全文
1646 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ID870177103 2016-07-29
  • 打赏
  • 举报
回复
你检查一下std::initializer_list<char32_t>能否正常生成,不行的话换种赋值方式,又不是什么关键问题
ID870177103 2016-07-28
  • 打赏
  • 举报
回复
你的编译器太老了,把char32_t设为unsigned __int32试试
双鱼小菜鸟 2016-07-28
  • 打赏
  • 举报
回复
引用 12 楼 ID870177103 的回复:
[quote=引用 11 楼 hmz6285603 的回复:] [quote=引用 10 楼 ID870177103 的回复:] [quote=引用 5 楼 hmz6285603 的回复:] [quote=引用 4 楼 ID870177103 的回复:] 那不是有几张表嘛,那几张表范围内的都是Emoji
=== u+1F30x 和0 是怎么表示那个emoji表情呢[/quote] x啊,这表是u+1F300到u+1F30F,这个值就是它Unicode编码值,和ucs4的值一一对应[/quote] 那我从客户端接收到的4个字节是f0 9f 98 a5,怎么转化为u+1F30x这种类型呢[/quote] u+1F300就是十六进制1F300啊,ucs4就是每个字符用4个字节编码,所以你只要确认它的编码是ucs4就能直接用了 [/quote] std::basic_string<char32_t> s ={0x2776, 0x2777}; error C2552: “s”: 不能用初始值设定项列表初始化非聚合 ==== 这条语句会报错
双鱼小菜鸟 2016-07-28
  • 打赏
  • 举报
回复
引用 14 楼 ID870177103 的回复:
你的编译器太老了,把char32_t设为unsigned __int32试试
报错提示一样
ID870177103 2016-07-26
  • 打赏
  • 举报
回复
引用 5 楼 hmz6285603 的回复:
[quote=引用 4 楼 ID870177103 的回复:] 那不是有几张表嘛,那几张表范围内的都是Emoji
=== u+1F30x 和0 是怎么表示那个emoji表情呢[/quote] x啊,这表是u+1F300到u+1F30F,这个值就是它Unicode编码值,和ucs4的值一一对应
ID870177103 2016-07-26
  • 打赏
  • 举报
回复
引用 11 楼 hmz6285603 的回复:
[quote=引用 10 楼 ID870177103 的回复:] [quote=引用 5 楼 hmz6285603 的回复:] [quote=引用 4 楼 ID870177103 的回复:] 那不是有几张表嘛,那几张表范围内的都是Emoji
=== u+1F30x 和0 是怎么表示那个emoji表情呢[/quote] x啊,这表是u+1F300到u+1F30F,这个值就是它Unicode编码值,和ucs4的值一一对应[/quote] 那我从客户端接收到的4个字节是f0 9f 98 a5,怎么转化为u+1F30x这种类型呢[/quote] u+1F300就是十六进制1F300啊,ucs4就是每个字符用4个字节编码,所以你只要确认它的编码是ucs4就能直接用了
双鱼小菜鸟 2016-07-26
  • 打赏
  • 举报
回复
引用 10 楼 ID870177103 的回复:
[quote=引用 5 楼 hmz6285603 的回复:] [quote=引用 4 楼 ID870177103 的回复:] 那不是有几张表嘛,那几张表范围内的都是Emoji
=== u+1F30x 和0 是怎么表示那个emoji表情呢[/quote] x啊,这表是u+1F300到u+1F30F,这个值就是它Unicode编码值,和ucs4的值一一对应[/quote] 那我从客户端接收到的4个字节是f0 9f 98 a5,怎么转化为u+1F30x这种类型呢
ID870177103 2016-07-25
  • 打赏
  • 举报
回复
那不是有几张表嘛,那几张表范围内的都是Emoji
双鱼小菜鸟 2016-07-25
  • 打赏
  • 举报
回复
引用 2 楼 ID870177103 的回复:
首先将字符编码转为UCS-4 然后根据这https://en.wikipedia.org/wiki/Emoji 在范围内的就是你要的
英文太烂,都看不懂
双鱼小菜鸟 2016-07-25
  • 打赏
  • 举报
回复
引用 8 楼 u010165006 的回复:
[quote=引用 7 楼 hmz6285603 的回复:] [quote=引用 6 楼 u010165006 的回复:] [quote=引用 5 楼 hmz6285603 的回复:] [quote=引用 4 楼 ID870177103 的回复:] 那不是有几张表嘛,那几张表范围内的都是Emoji
=== U+1F30x 和0 是怎么表示那个emoji表情呢[/quote] 你看下一行是U+1F31x,第2位差1,每行16个,所以是16进制,把第1位的x用列号代替就可以了,U+1F30x 和0 就是U+1F300,前面的U+应该是表示Unicode version 9.0,1F300就是16进制数。[/quote] 你有代码?直接发来分享下吧[/quote] 比如同样支持emoji表情的移动设备(手机),它的字库是按Unicode编码的,编码为1F300的就显示为那个表情,和普通文字、字符是一样处理的。没有代码。[/quote] 我从客户端读取过来一个emoji表情是4个字节的,怎么转化成1F300这种类型
ooolinux 2016-07-25
  • 打赏
  • 举报
回复
引用 7 楼 hmz6285603 的回复:
[quote=引用 6 楼 u010165006 的回复:] [quote=引用 5 楼 hmz6285603 的回复:] [quote=引用 4 楼 ID870177103 的回复:] 那不是有几张表嘛,那几张表范围内的都是Emoji
=== U+1F30x 和0 是怎么表示那个emoji表情呢[/quote] 你看下一行是U+1F31x,第2位差1,每行16个,所以是16进制,把第1位的x用列号代替就可以了,U+1F30x 和0 就是U+1F300,前面的U+应该是表示Unicode version 9.0,1F300就是16进制数。[/quote] 你有代码?直接发来分享下吧[/quote] 比如同样支持emoji表情的移动设备(手机),它的字库是按Unicode编码的,编码为1F300的就显示为那个表情,和普通文字、字符是一样处理的。没有代码。
双鱼小菜鸟 2016-07-25
  • 打赏
  • 举报
回复
引用 6 楼 u010165006 的回复:
[quote=引用 5 楼 hmz6285603 的回复:] [quote=引用 4 楼 ID870177103 的回复:] 那不是有几张表嘛,那几张表范围内的都是Emoji
=== U+1F30x 和0 是怎么表示那个emoji表情呢[/quote] 你看下一行是U+1F31x,第2位差1,每行16个,所以是16进制,把第1位的x用列号代替就可以了,U+1F30x 和0 就是U+1F300,前面的U+应该是表示Unicode version 9.0,1F300就是16进制数。[/quote] 你有代码?直接发来分享下吧
ooolinux 2016-07-25
  • 打赏
  • 举报
回复
引用 5 楼 hmz6285603 的回复:
[quote=引用 4 楼 ID870177103 的回复:] 那不是有几张表嘛,那几张表范围内的都是Emoji
=== U+1F30x 和0 是怎么表示那个emoji表情呢[/quote] 你看下一行是U+1F31x,第2位差1,每行16个,所以是16进制,把第1位的x用列号代替就可以了,U+1F30x 和0 就是U+1F300,前面的U+应该是表示Unicode version 9.0,1F300就是16进制数。
双鱼小菜鸟 2016-07-25
  • 打赏
  • 举报
回复
引用 4 楼 ID870177103 的回复:
那不是有几张表嘛,那几张表范围内的都是Emoji


===
u+1F30x 和0 是怎么表示那个emoji表情呢
ID870177103 2016-07-24
  • 打赏
  • 举报
回复
首先将字符编码转为UCS-4 然后根据这https://en.wikipedia.org/wiki/Emoji 在范围内的就是你要的
ooolinux 2016-07-23
  • 打赏
  • 举报
回复
应该有Unicode编码。

15,447

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧