如何在Google App脚本中将字符串转换为UTF-16格式

时间:2018-08-16 15:09:54

标签: google-apps-script google-sheets

我正在编写一个Google应用程序脚本,该脚本将字符串转换为UTF-16 Unicode格式。例如 Input:Hello World Output:\u0048\u0065\u006c\u006c\u006f \u0057\u006f\u0072\u006c\u0064

我实际上希望脚本将Goggle Doc电子表格中包含阿拉伯语单词的列转换为UTF-16格式。喜欢-

Input: مرحبا بالعالم
Output: \u0645\u0631\u062d\u0628\u0627 \u0628\u0627\u0644\u0639\u0627\u0644\u0645

有什么办法可以在Google应用脚本中执行此操作?如果是,请向我指出正确的方法。

1 个答案:

答案 0 :(得分:1)

不是从头开始为您编写完整脚本的地方,但是公式可以帮助您入门:

=TEXTJOIN(,,ArrayFormula(lower("\u0"&DEC2HEX(CODE(SPLIT(regexreplace(A1,"(\D)","$1\"),"\"))))))

以上内容可以识别空格。

REGEXREPLACE在此处{捕获}(( )\D中的每个单独的非数字字符(class A1),并附加到捕获的组($1)中使用反斜杠。 SPLIT在每个\处解析REGEXREPLACE的结果。 CODE将字符转换为十进制映射值,然后DEC2HEX转换为带符号的十六进制格式,以使用串联运算符\u0附加到&LOWER将DEC2HEX返回的字母元素转换为小写。 SPLIT创建了一个数组,因此函数需要ARRAYFORMULA来处理所有单个元素(例如DEC2HEX是非数组函数)。 TEXTJOIN然后将所有片段缝合在一起,并使用前两个参数的默认值。