简而言之,AppleScript的as «class utf8»
等效于Mac Automation的JavaScript是什么?如何使用JavaScript for Mac Automation编写UTF-8文件?
我有一个unicode字符串,我试图写入使用JavaScript的Mac自动化的文本文件。
将字符串写入文件时,存在的任何unicode字符都会成为该文件中的问号(ASCII字符3F
)。
如果这是一个AppleScript脚本而不是JavaScript脚本,我可以通过在Takashi Yoshida的博客(https://takashiyoshida.org/blog/applescript-write-text-as-utf8-string-to-file/)上解释,添加as «class utf8»
原始语句来解决此问题。
但是,该脚本已经使用JavaScript编写,因此我正在寻找与此AppleScript语句等效的JavaScript。 Apple关于原始语句的页面只能解决AppleScript(https://developer.apple.com/library/content/documentation/AppleScript/Conceptual/AppleScriptLangGuide/conceptual/ASLR_raw_data.html)。
要编写该文件,我正在使用Apple自己的writeTextToFile
JavaScript函数示例(https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/ReadandWriteFiles.html#//apple_ref/doc/uid/TP40016239-CH58-SW1)。我添加了一个as
参数下面的调用,根据StandardAdditions词典:
// Write the new content to the file
app.write(text, { to: openedFile, startingAt: app.getEof(openedFile), as: "utf8" })
并试过所有的以下字符串(如小写的形式写成,也):
- Unicode文本
- 的Unicode
- 类UTF8
- «类UTF8»
- UTF8
- 文本
- UTF8文字除了“文本”(这导致了同样的问号情况),使用上述所有字符串
产生一个零字节的文件。
我明白我可能会涉水到未知的水域在这里,但如果有人读这之前已经处理了这一点,并愿意提供一些指点,我会非常感激