我正在编写一个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应用脚本中执行此操作?如果是,请向我指出正确的方法。
答案 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然后将所有片段缝合在一起,并使用前两个参数的默认值。