创建没有 BOM google 应用程序脚本的文本文件
Create text file without BOM google apps script
我正在尝试在 Google 驱动器中创建一个文本文件,该文件将由另一个程序读取以实现自动化。但是,如果我通过 Google 脚本创建文本文件,文本将具有 BOM,这使得自动化非常不可靠。
我目前正在使用
var textFile = jobFolder.createFile(aFileName, fileContent,MimeType.PLAIN_TEXT)
var textFile = jobFolder.createFile(aFileName, fileContent)
使用 Google App Script 创建没有 BOM 的文本文件的方法是什么?
在UTF-8的BOM数据中,EF BB BF
被添加到数据的最前面。在这种情况下,我认为删除前 3 个字节是为了实现您的目标。那么下面的修改呢?
发件人:
var textFile = jobFolder.createFile(aFileName, fileContent,MimeType.PLAIN_TEXT)
收件人:
var [,,,...newData] = Utilities.newBlob(fileContent).getBytes();
var blob = Utilities.newBlob(newData, MimeType.PLAIN_TEXT, aFileName);
var textFile = jobFolder.createFile(blob);
- 本次修改假设
fileContent
为BOM的文本数据。请注意这一点。
- 在这种情况下,请声明
aFileName
和 jobFolder
的值。请注意这一点。
- 在这个修改后的脚本中,
newData
是去掉前3个字节的数据
注:
- 如果您的
fileContent
数据不是UTF-8,请查看Byte order mark (BOM)的wiki。从这个wiki,可以确认排名靠前的人物。
参考文献:
已添加:
根据您的以下回复,
I have error on this line var [,,,...newData] = Utilities.newBlob(fileContent).getBytes();. Maybe because my Google App Script is the older version. What can I try for this?
我了解到您没有使用 V8 运行时。在这种情况下,下面的脚本怎么样?
示例脚本:
var newData = Utilities.newBlob(fileContent).getBytes();
newData.splice(0, 3);
var blob = Utilities.newBlob(newData, MimeType.PLAIN_TEXT, aFileName);
var textFile = jobFolder.createFile(blob);
我正在尝试在 Google 驱动器中创建一个文本文件,该文件将由另一个程序读取以实现自动化。但是,如果我通过 Google 脚本创建文本文件,文本将具有 BOM,这使得自动化非常不可靠。 我目前正在使用
var textFile = jobFolder.createFile(aFileName, fileContent,MimeType.PLAIN_TEXT)
var textFile = jobFolder.createFile(aFileName, fileContent)
使用 Google App Script 创建没有 BOM 的文本文件的方法是什么?
在UTF-8的BOM数据中,EF BB BF
被添加到数据的最前面。在这种情况下,我认为删除前 3 个字节是为了实现您的目标。那么下面的修改呢?
发件人:
var textFile = jobFolder.createFile(aFileName, fileContent,MimeType.PLAIN_TEXT)
收件人:
var [,,,...newData] = Utilities.newBlob(fileContent).getBytes();
var blob = Utilities.newBlob(newData, MimeType.PLAIN_TEXT, aFileName);
var textFile = jobFolder.createFile(blob);
- 本次修改假设
fileContent
为BOM的文本数据。请注意这一点。 - 在这种情况下,请声明
aFileName
和jobFolder
的值。请注意这一点。 - 在这个修改后的脚本中,
newData
是去掉前3个字节的数据
注:
- 如果您的
fileContent
数据不是UTF-8,请查看Byte order mark (BOM)的wiki。从这个wiki,可以确认排名靠前的人物。
参考文献:
已添加:
根据您的以下回复,
I have error on this line var [,,,...newData] = Utilities.newBlob(fileContent).getBytes();. Maybe because my Google App Script is the older version. What can I try for this?
我了解到您没有使用 V8 运行时。在这种情况下,下面的脚本怎么样?
示例脚本:
var newData = Utilities.newBlob(fileContent).getBytes();
newData.splice(0, 3);
var blob = Utilities.newBlob(newData, MimeType.PLAIN_TEXT, aFileName);
var textFile = jobFolder.createFile(blob);