如何在BigQuery中正确输入Unicode字符编码?
在BigQuery中正确输入Unicode字符「倀」(U+20480)的方法
你之前尝试的\U00020480写法不符合BigQuery标准SQL的转义规则,导致报错。以下是两种可行的正确方式:
方法1:使用CHR()函数直接传入Unicode代码点
BigQuery的CHR()函数支持接收十进制或十六进制的Unicode代码点,直接生成对应字符:
SELECT '倀', CHR(0x20480); -- 十六进制代码点写法 -- 或者用十进制(0x20480转换为十进制是132224) SELECT '倀', CHR(132224);
方法2:使用UTF-16代理对的转义序列
由于「倀」属于Unicode补充平面字符(U+20480超出了BMP范围U+0000-U+FFFF),在UTF-16编码中它由两个代理字符组成:高代理U+D841和低代理U+DC80。你可以在字符串字面量中用两个\uXXXX转义序列表示:
SELECT '倀', '\uD841\uDC80';
为什么之前的写法错误?
BigQuery标准SQL的字符串字面量仅支持\uXXXX格式的4位十六进制转义序列(对应BMP范围内的字符),不支持\UXXXXXXXX这种8位转义写法,因此直接使用\U00020480会触发“无法识别的转义序列”错误。
内容的提问来源于stack exchange,提问作者David542
相关产品推荐
相关产品推荐

