You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Apps Script中创建Windows-1250编码的TXT文件?

如何在Google Apps Script中创建Windows-1250编码的TXT文件

确实,DriveApp的createFile方法直接写入文本时默认用UTF-8编码,官方文档里也没有直接设置编码的参数,但我们可以通过Blob对象的字节转换来实现Windows-1250编码的文件生成,具体步骤如下:

核心思路

Google Apps Script的Utilities类可以处理文本和字节的编码转换:先将目标文本转换为Windows-1250编码的字节数组,再用这些字节创建指定编码的Blob,最后将Blob保存为文件。

完整代码示例

function saveAsWindows1250Txt() {
  // 1. 从Google Sheets获取内容(这里用示例逻辑,替换成你的实际获取代码)
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const content = sheet.getDataRange().getValues().map(row => row.join("\t")).join("\n");
  
  // 2. 将文本转换为Windows-1250编码的字节数组
  const utf8Blob = Utilities.newBlob(content);
  const windows1250Bytes = utf8Blob.getBytes("Windows-1250");
  
  // 3. 创建指定编码的Blob并保存为文件
  const targetBlob = Utilities.newBlob(
    windows1250Bytes,
    "text/plain;charset=Windows-1250",
    "sheet_content_1250.txt" // 自定义文件名
  );
  
  // 保存到Google Drive根目录(可修改为指定文件夹)
  DriveApp.createFile(targetBlob);
}

关键细节解释

  • utf8Blob.getBytes("Windows-1250"):默认创建的Blob会把文本当作UTF-8处理,调用getBytes并传入目标编码,就能将文本转换为对应编码的字节序列。
  • 生成Blob时指定MIME类型为text/plain;charset=Windows-1250:确保文件的元数据标记正确的编码,这样下载后文本编辑器能自动识别编码格式。
  • 字符兼容性提醒:如果你的文本包含Windows-1250编码不支持的Unicode字符,这些字符会被替换为?或其他替代字符,建议提前确认内容中的字符是否在1250编码范围内。

验证方法

生成文件后,你可以用Notepad等工具打开,查看文件编码(Notepad的「编码」菜单中会显示当前文件的编码),确认是否为Windows-1250。

内容的提问来源于stack exchange,提问作者Peter222

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:00:18