You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断BigQuery中Base64编码与Unicode字符是否等价?

问题解答

一、判断字符是否等价的方法

BigQuery 里的 ~b"1" 是 Base64 解码语法,~b 会将后面的 Base64 字符串解码为原始字节并自动按 UTF-8 解析成字符串。要判断它和另外两个字符串是否等价,直接用相等运算符对比即可:

SELECT
  ~b"1" AS base64_decoded,
  code_points_to_string([0x380]) AS cp_to_str,
  "\u0380" AS unicode_literal,
  -- 直接判断是否相等
  ~b"1" = code_points_to_string([0x380]) AS is_equal_1,
  ~b"1" = "\u0380" AS is_equal_2

运行这条语句后,通过 is_equal_1 和 is_equal_2 的布尔结果就能知道三者内容是否一致。

二、从Base64提取代码点的方法

BigQuery 没有直接从 Base64 字符串提取代码点的函数,但可以分两步实现:

  1. 用 ~b 语法或 FROM_BASE64 函数解码 Base64 为字符串;
  2. 用 TO_CODE_POINTS 函数将字符串转换为对应代码点数组。

示例代码:

SELECT
  TO_CODE_POINTS(~b"1") AS code_points_via_tilde,
  TO_CODE_POINTS(FROM_BASE64("1")) AS code_points_via_function

两种解码方式效果一致,最终都能得到解码后字符串的代码点数组。

内容的提问来源于stack exchange,提问作者David542

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 11:05:18