autohotkey - AutoHotkey:将特殊字符写入文件
问题描述
我正在尝试将度数符号写入文件,但我只得到特殊字符问号符号。我试过用 UTF-8 编码打开文件,但它没有改变任何东西。有没有办法做到这一点?
这就是我正在尝试的:
#NoEnv
SetWorkingDir %A_ScriptDir%
zml := FileOpen("zml.xml", "rw", UTF-8)
zml.write("°")
zml.close()
解决方案
来自文档:“如果支持 Unicode,则 Number 是 0 到 0x10FFFF(或 [v1.1.21] 之前的 0xFFFF)之间的 Unicode 字符代码;否则它是 0 到 255 之间的 ANSI 字符代码。”
zml.write(chr(176))
作品。
176 是度数符号的 ASCII 码。
zml.write(chr(0x00B0))
也有效。
0x00B0 是度数符号的 Unicode 编码
zml := FileOpen("zml.xml", "rw", UTF-8)
zml.write(chr(176)) ; also works: zml.write(chr(0x00B0))
zml.close()
是否启用 Unicode 编码;可以检查:
MsgBox % A_IsUnicode ? "Unicode" : "ANSI"
在我的机器 Windows 代码页上:1252
ahk 版本:1.1.33.02
ahk 脚本文件保存为 UTF-8
推荐阅读
- c++ - Qt QGraphicsView 滚动导致项目随机消失
- windows - 为什么设置推荐使用先前的用户输入输入?
- php - 在 WP_Query 中将字符串作为数字进行比较
- machine-learning - 猜测超车道的值(软边距分类器)
- typescript - 从 webview 向扩展发送消息
- google-apps-script - 如何将 Google 照片中的一张图片添加到 HTML 模板以发送电子邮件?
- api - Pinterest 开发者 API v3 应用程序仍在等待中
- html - CSS中的中心页脚
- excel - ListBox(用户窗体)VBA中的多列
- pandas - 熊猫根据条件合并和更新,而不重命名列