Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 谷歌应用引擎对utf8mb4的支持_Ios_Google App Engine_Emoji_Utf8mb4 - Fatal编程技术网

Ios 谷歌应用引擎对utf8mb4的支持

Ios 谷歌应用引擎对utf8mb4的支持,ios,google-app-engine,emoji,utf8mb4,Ios,Google App Engine,Emoji,Utf8mb4,根据这一点,支持iOS4到iOS6的表情符号的正确方法是使用utf8mb4编码。AppEngine的数据存储是否支持utf8mb4?目前,我在iOS应用程序中使用Java版本的App Engine作为后端 首先,您链接到的文章介绍了作者使用mysql作为数据库为iOS开发应用程序的经验。在mysql中,编码“utf8”只表示长度为1、2或3字节的字符 但是,根据定义,utf8支持1、2、3或4字节长的字符。因此,在mysql编码和排序的上下文中,utf8表示最多3字节的字符。对于4字节长的字符,

根据这一点,支持iOS4到iOS6的表情符号的正确方法是使用utf8mb4编码。AppEngine的数据存储是否支持utf8mb4?目前,我在iOS应用程序中使用Java版本的App Engine作为后端

首先,您链接到的文章介绍了作者使用
mysql
作为数据库为iOS开发应用程序的经验。在mysql中,编码“utf8”只表示长度为1、2或3字节的字符

但是,根据定义,utf8支持1、2、3或4字节长的字符。因此,在mysql编码和排序的上下文中,utf8表示最多3字节的字符。对于4字节长的字符,mysql设计了utf8mb4编码

但是,这仅适用于mysql上下文。在mysql之外,utf8自动表示支持1、2、3或4字节字符。请参阅,它在介绍性段落中对此进行了讨论:

UTF-8以Unicode格式对1112064[7]个代码点进行编码 使用一到四个8位字节的字符集(在 Unicode标准)

因此,当一个平台或软件应用程序声称支持UTF-8时,它意味着支持所有1112064代码点,每个字符可以消耗1、2、3或4个字节

mysql的例子是一个异常现象,utf8编码不是100%的utf8,而是utf-8的6%(但大多数人不会注意到这一点,除非他们开始使用emojis或其他字符)


因此,我的建议是,当google app engine接受utf-8作为其支持的有效编码时,可以安全地假设google app engine支持4字节字符

谢谢你的解释!