簡而言之,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文字除了「文本」(這導致了同樣的問號情況),使用上述所有字符串
產生一個零字節的文件。
我明白我可能會涉水到未知的水域在這裏,但如果有人讀這之前已經處理了這一點,並願意提供一些指點,我會非常感激