以下是引用厨师王德榜在2022-8-11 17:11:54的发言:
谢谢前辈指正,
file2utf8()是不是一个需要声明的api?
有示范吗? 谢谢
不敢当。
file2utf8()只是一个VFP9下的自定义函数。
大致流程:
Function File2UTF8
LPARAMETERS lcFileName
if file(lcFileName)
lcText = fileToStr(lcFileName)
else
return ""
endif
*然后Do case逐一测试源TXT的编码格式,并用STRCONV(lcText, 10)之类转换成UTF-8返回
lcBOM = Createbinary(left(lcText, 2))
do case
case
lcBOM = 0hEFBB
&&'UTF-8'
return lcText
case
lcBOM = 0hFFFE
&&'UNICODE'
return STRCONV(lcText, 10)
case
lcBOM = 0hFEFF
&&'UNICODE BE'
* 先将UNICODE大头转小头,即:将奇偶数字节对调(略)……然后再:
return STRCONV(lcText, 10)
&&Unicode 字符转换为 UTF-8
Otherwise
&&无BOM,接着猜测源TXT的编码,究竟是:ANSI、UTF-8、Unicode LE还是Unicode BE
do case
...
...
endcase
endcase
抱歉,编写代码的电脑没在身边,凭记忆写的,自己用上边的“转换模板”补足吧。