最近正好在研究 foobar2000 的 SDK,里面就有大量的转换函数,不过在 NSIS 里面的话需要指定代码页,要不然到了非简体系统之后他就按照默认的代码页来编码了。
暂时写了个转换函数,例子如下
${ConvertANSIToUTF16} $0 936 "中国"
${ConvertUTF16ToUTF8} $0 $0
!insertmacro BitOutput "$0"
输出:
0xE4 0xB8 0xAD 0xE5 0x9B 0xBD 0x0
BitOutput 宏是用来输出字符串的内码的。
这两个函数包含在 UsefulLib.nsh 里。