将表情符号unicode从cpp核心级别传递到iosui级别
pass emoji unicode from cpp core-level to ios ui level
在c++级别中,我想将类似":smile:"
的表情符号字符串更改为ios支持的unicode "u{1f604}"
。
但是,C++不支持该类型,u
必须跟数字。然后我将unicode更改为"\u{1f604}"
。现在,它可以很好地在c++级别工作,但当我将此字符串传递到ios级别时,ios不会自动将此字符串更改为表情符号。
你能给我一些想法吗
很抱歉我没有把它描述清楚。
在我的项目中,我在C++级别解析服务器上的json,然后将这些数据传递给IOS级别。
要在C++中转义U+FFFF以上的代码点,必须使用U
后跟八个十六进制数字(需要C++11或更高版本)。根据所需的编码,您可以使用以下字符串文字形式之一:
u8"U0001f604" // UTF-8, type const char[]
u"U0001f604" // UTF-16, type const char16_t[]
U"U0001f604" // UTF-32, type const char32_t[]
您可以编写一个NSString类方法,该方法以包含代码点的NSInteger为参数,并返回一个带有包含该代码点的单个Unicode字符的NSString*。
为了实现这一点,如果codePoint是<=0xffff然后将其转换为一个unichar,否则将其转换为由两个unichar组成的数组,一个高代理和一个低代理(谷歌解释)。然后使用现有的NSString方法之一将其转换为NSString。
将代码点转换为高/低代理项:减去0x10000。高代理=0xd800+(代码点>>10);低代理项=0xdc00+(代码点&0x3ff)。
示例:
NSString* smile = [NSString stringWithCodePoint:0x1f604];
相关文章:
- 被解释为低级别const的const对象的地址
- 在Windows中查找扬声器输出的当前音量级别
- FFMPEG配置文件级别id大小无效
- 固有构造函数的字符和访问级别
- ascii 和 unicode 在处理级别有什么区别吗?
- fastrtps:如何在发布/订阅级别使用 DDS 历史记录?
- 为什么我的程序在 O0 和 O2 的优化级别返回不同的结果
- C++std::atomic在程序员级别保证了什么
- Cmake:为 C 设置警告级别,并为 MSVC 单独设置C++代码(Visual C++)
- 覆盖应用程序的低级别键盘挂钩问题
- 二叉树级别顺序遍历在leetcode中
- 如何循环 n 次,在 xml 文件中每个循环一个级别
- 警告级别为 3 的 int 的 std::vector push_back 处的编译器警告
- 如何查看在程序级别为我的程序创建了多少 vtable 和 vpointer
- 下步指针键入用于shared_ptr的级别
- 对于优化级别为 0 的 std::vector,析构函数被调用两次
- 当依赖关系和依赖关系都是多态时,在哪个继承级别存储依赖关系指针?
- 返回二叉搜索树特定级别的节点数的函数
- 二叉树级别顺序插入 c++
- 将表情符号unicode从cpp核心级别传递到iosui级别