我在文本字段中插入了一个图释,其长度是1,而不是全能的javascript所说的2。
图释大小:
select length(\'\');
'length(\'\')': 1
如何获取SQLite在-UTF8- javascript中给出-correct-结果,即2?
答案 0 :(得分:1)
表情符号由两个UTF-16代码点(\ud83c\udf49
)或四个UTF-8字节(F0 9F 8D 89
)组成。
JavaScript length
函数返回字符串的UTF-16代码点数:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length
SQLite length
函数返回字符串中的字符数:
https://www.sqlite.org/lang_corefunc.html#length
换句话说:它们是两个不同的功能。
如果您在字符串的字节长度之后,则可以使用:
select length(cast('' as BLOB))
输出:
4
最好退后一步,回顾一下您实际想要实现的目标;也许有不同的方法。