【发布时间】:2017-10-31 07:03:51
【问题描述】:
简而言之 - 什么是相当于 AppleScript 的 as «class utf8» 的 Mac 自动化 JavaScript?
我有一个 unicode 字符串,我正在尝试使用 JavaScript for Mac Automation 将其写入文本文件。
将字符串写入文件时,存在的任何 unicode 字符都将成为文件中的问号(ASCII char 3F)。
如果这是一个 AppleScript 脚本而不是 JavaScript 脚本,我可以通过添加 as «class utf8» 原始语句来解决这个问题,如 Takashi Yoshida 的博客 (https://takashiyoshida.org/blog/applescript-write-text-as-utf8-string-to-file/) 中所述。
但是,该脚本已经用 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)。根据 StandardAdditions 字典,我在以下调用中添加了 as 参数:
// Write the new content to the file
app.write(text, { to: openedFile, startingAt: app.getEof(openedFile), as: "utf8" })
并尝试了以下所有字符串(书面形式和小写形式):
- Unicode 文本
- Unicode
- utf8 类
- «class utf8»
- utf8
- 文字
- utf8 文本
除了“文本”(导致相同的问号情况),使用所有上述字符串产生一个零字节文件。
我知道我在这里可能涉足未知领域,但如果有人读过这篇文章并愿意提供一些指点,我将不胜感激????
【问题讨论】:
标签: javascript macos applescript javascript-automation