gpt4 book ai didi

google-translate - 我从 google-translate api 收到某些翻译

转载 作者:行者123 更新时间:2023-12-02 14:07:40 29 4
gpt4 key购买 nike

我刚开始使用 Google 翻译 API,在测试过程中我们注意到,对于某些翻译(我尚未找到模式),我们会在响应中收到\u200b 字符。这会导致很多问题,最重要的是,它似乎没有任何目的或没有任何意义。举个简单的例子:

https://www.googleapis.com/language/translate/v2?key=YOURKEY&source=NL&target=EN&q=Hergeneer%20verkopen

返回:

{
"data": {
"translations": [
{
"translatedText": "Sell \u200b\u200bHerge Down"
}
]
}
}

我们的软件会遇到这些字符串/字符,但我还没有找到阻止它们或摆脱它们的方法。

最佳答案

请阅读JSON格式的文档:https://json.org/

A string is a sequence of zero or more Unicode characters.
A char is either any Unicode character except " or \ or control-character,
[...]
or it is \u followed by four hex-digits.

我们在最后一种情况下,\u 后面跟着四个十六进制数字,它代表一个 Unicode 字符: Unicode Character 'ZERO WIDTH SPACE' (U+200B) 。它甚至有自己的维基百科页面:Zero-width space 。及其堆栈溢出问题:What's HTML character code 8203? .

现在,有很多具有特殊行为的 Unicode 字符,这就是其中之一,是其他字符中不可见的字符。因此,您需要了解 Unicode 的工作原理,并且应该清理来自第三方 API(以及用户输入)的输入/输出。

只需定义您实际想要支持的字符列表,并确保删除或过滤掉所有其他字符。例如,如果您希望支持 NL 和 EN,那么您可以删除 Latin script in Unicode 之外的内容。 .

剥离您遇到的 U+200B 和其他不需要的字符可能会让您避免潜在的意外,例如:

关于google-translate - 我从 google-translate api 收到某些翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37168146/

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