gpt4 book ai didi

javascript - 在 Bigquery 中将 Unicode 解码为本地语言

转载 作者:行者123 更新时间:2023-11-30 21:00:47 25 4
gpt4 key购买 nike

我们在 Bigquery 中收到调查 Web-hook 数据。本地语言的评论被捕获为 unicode,我们在该评论中确实有特殊字符。

  • 例子

    • 调查评论-“别老是晚上,现场补行李费太贵”
    • 在 Bigquery 数据中评论 - "\u522b\u8001\u662f\u665a\u70b9\uff0c\u73b0\u573a\u8865\u884c\u674e\u8d39\u592a\u8d35"

我们找到了解码个人评论的解决方案:-

    CREATE TEMPORARY FUNCTION utf8convert(s STRING)
RETURNS STRING
LANGUAGE js AS """
return unescape( ( s ) );
""";
with sample AS (SELECT '\u522b\u8001\u662f\u665a' AS S)
SELECT utf8convert(s) from sample

当在具有数千条评论和不同语言的评论字段中实现此代码时,它不起作用。

    CREATE TEMPORARY FUNCTION utf8convert(s STRING)
RETURNS STRING
LANGUAGE js AS """
return unescape( ( s ) );
""";
SELECT Comment, utf8convert(Comment) as Convert
FROM `airasia-nps.nps_production.NPSDashboard_Webhook_Data1`
where Comment is not null

运行时没有错误,但结果是 Unicode 不会更改为本地语言。 Result: local language in Unicode

  • 我试过这段代码

      CREATE TEMP FUNCTION DecodeUnicode(s STRING) AS (
    IF(s NOT LIKE '%\\u%', s,
    (SELECT CODE_POINTS_TO_STRING(ARRAY_AGG(CAST(CONCAT('0x', x) AS INT64)))
    FROM UNNEST(SPLIT(s, '\\u')) AS x
    WHERE x != ''))
    );

    SELECT
    original,
    DecodeUnicode(original) AS decoded
    FROM (
    SELECT trim(r'$-\u6599\u91d1\u304c\u9ad8\u3059\u304e\uff01\uff01\uff01') AS original UNION ALL
    SELECT trim(r'abcd')
    );

显示error我认为这是因为评论以特殊字符开头?

最佳答案

看看这是否有效。它通过转换为 Unicode 代码点然后转换为字符串,对其中包含\u 的字符串进行“手动”解码。它也应该比使用 JavaScript 更快。

CREATE TEMP FUNCTION DecodeUnicode(s STRING) AS (
IF(s NOT LIKE '%\\u%', s,
(SELECT CODE_POINTS_TO_STRING(ARRAY_AGG(CAST(CONCAT('0x', x) AS INT64)))
FROM UNNEST(SPLIT(s, '\\u')) AS x
WHERE x != ''))
);

SELECT
original,
DecodeUnicode(original) AS decoded
FROM (
SELECT r'\u522b\u8001\u662f\u665a\u70b9\uff0c\u73b0\u573a\u8865\u884c\u674e\u8d39\u592a\u8d35' AS original UNION ALL
SELECT r'abcd'
);

作为输出,这将返回 别老是晚上,现场补行李费太贵abcd

关于javascript - 在 Bigquery 中将 Unicode 解码为本地语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47150140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com