首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

十豆三老师曾分享过“UTF-8、Unicode、Ansi的互相转换”的代码,当中好像缺了一项:Unicode (Big Endian)如何转换

2013-01-01 
十豆三老师曾分享过“UTF-8、Unicode、Ansi的互相转换”的代码,当中好像缺了一项:Unicode (Big Endian)怎么转

十豆三老师曾分享过“UTF-8、Unicode、Ansi的互相转换”的代码,当中好像缺了一项:Unicode (Big Endian)怎么转换?
本帖最后由 apple_8180 于 2012-09-29 08:22:44 编辑 http://topic.csdn.net/u/20111115/13/A4FE5FCB-E640-4B83-A7D0-FB4DBEFBA91A.html

为了转换各类编码,我专门安装了一个VFP9/SP2,然而遗憾的是:VFP 9的STRCONV( )函数,并没有提供Unicode (Big Endian)相关的转换参数。

或者,退而求其次,有没有能够“飞速”将一个大字符串(比如说,几百KB甚至几MB)当中,所有十六位Word的高8位(Byte)与低8位(Byte)进行字节互换的函数?

那样就能自行实现Unicode (Big Endian)与Unicode (Little Endian)之间的互换。

[解决办法]

lcStr='abc十豆三123'

*-- 生成的 Unicode big endian 编码文件.txt:20字节(每个英文、数字及汉字占2个字节,另加上BOM长度2)
lcUnicode=Strconv(lcStr,5)
lnStrLen=Len(lcUnicode)
lcUnicodeBig=''
For lnI=1 To lnStrLen Step 2
lcUnicodeBig=lcUnicodeBig+Substr(lcUnicode,lnI+1,1)+Substr(lcUnicode,lnI,1)
Endfor
=Strtofile(Chr(0xFE)+Chr(0xFF)+lcUnicodeBig,'c:\Unicode big endian 编码文件.txt')

[解决办法]
win2api 中就两个函数进行多字节字符串与宽字符字符串的互换,它们是 MultiByteToWideChar 和 WideCharToMultiByte,但都没有涉及低字节序和高字节序的参数
[解决办法]
本帖最后由 apple_8180 于 2012-09-29 10:37:45 编辑
引用:
CSDN如何将搜索限定在“本版块内”?
呵呵,我一搜Unicode,首先看到的当然是C#、C++、VB、Delphi……VFP的资料很难找啊。
不知道新版有此功能不。目前版本只有版主可以。

热点排行