WhatsApp 导出:是否有 unicode 表情符号压缩约定?
WhatsApp Export: Is there a unicode emoticon compressing convention?
我刚刚从 Windows Phone 迁移到 Android,我发现我无法迁移我的 WhatsApp 聊天记录(至少不容易)。现在我想使用 WhatsApp 提供的导出到邮件功能。它工作得很好,但是(主要)对于旧消息,一些表情符号没有正确传输。
查看 UTF-8 字节表示,似乎这些未显示的表情符号仅由三个字节组成,而不是四个正常字节。
示例:
08.09.2013 20:00:10: Name:
被导出而不是
08.09.2013 20:00:10: Name:
查看表情符号的十六进制表示(仅):
0 1 2 3 4 5 6 7 8 ... Dump
ee 81 9a ee 84 8c ee 84 9c î.šî„Œî„œ
而不是
0 1 2 3 4 5 6 7 8 9 a b ... Dump
f0 9f 92 a9 f0 9f 91 bd f0 9f 92 80 💩👽💀
所以我的问题是:这只是 WhatsApp 导出过程中发生的错误,还是某种形式的压缩以减小文件大小?如果是这样,有没有解码算法可以将"compressed"版本转换成普通版本?
WhatsApp 似乎在 Unicode 的私人使用区中使用 Softbank 的表情符号编码,在 iOS 版本 2–4 中使用它们之前,它们在自己的 Unicode 块中被标准化。例如:
0xEE
0x84
0x8C
是U+E10C
的UTF-8编码
U+E10C
是一个私有字符,Softbank/Apple 用于编码后来被标准化为 U+1F47D
() 的字符。
没有这些映射的官方列表,也不可能进行算法转换(必须构建映射 table)。但是,您可以很容易地找到 compilations of the Softbank/Unicode mappings 来构建它们之间的转换器。
我刚刚从 Windows Phone 迁移到 Android,我发现我无法迁移我的 WhatsApp 聊天记录(至少不容易)。现在我想使用 WhatsApp 提供的导出到邮件功能。它工作得很好,但是(主要)对于旧消息,一些表情符号没有正确传输。
查看 UTF-8 字节表示,似乎这些未显示的表情符号仅由三个字节组成,而不是四个正常字节。
示例:
08.09.2013 20:00:10: Name:
被导出而不是
08.09.2013 20:00:10: Name:
查看表情符号的十六进制表示(仅):
0 1 2 3 4 5 6 7 8 ... Dump
ee 81 9a ee 84 8c ee 84 9c î.šî„Œî„œ
而不是
0 1 2 3 4 5 6 7 8 9 a b ... Dump
f0 9f 92 a9 f0 9f 91 bd f0 9f 92 80 💩👽💀
所以我的问题是:这只是 WhatsApp 导出过程中发生的错误,还是某种形式的压缩以减小文件大小?如果是这样,有没有解码算法可以将"compressed"版本转换成普通版本?
WhatsApp 似乎在 Unicode 的私人使用区中使用 Softbank 的表情符号编码,在 iOS 版本 2–4 中使用它们之前,它们在自己的 Unicode 块中被标准化。例如:
0xEE
0x84
0x8C
是U+E10C
的UTF-8编码
U+E10C
是一个私有字符,Softbank/Apple 用于编码后来被标准化为U+1F47D
() 的字符。
没有这些映射的官方列表,也不可能进行算法转换(必须构建映射 table)。但是,您可以很容易地找到 compilations of the Softbank/Unicode mappings 来构建它们之间的转换器。