亚运村网站建设,wordpress工业产品企业网站主题,huang色网站,网站解析后Val编程-读取汉字 Val编程中#xff0c;对于汉字的读取不是很友好#xff0c;利用fileget直接读取记事本产生的文件字符串会导致乱码的产生。因为Val只支持使用utf-8进行编码#xff0c;因此读取的文本需要进行utf-8格式转换。 在GBK中#xff0c;汉字占两个字节。并且…Val编程-读取汉字 Val编程中对于汉字的读取不是很友好利用fileget直接读取记事本产生的文件字符串会导致乱码的产生。因为Val只支持使用utf-8进行编码因此读取的文本需要进行utf-8格式转换。 在GBK中汉字占两个字节。并且每个字节都大于128.可以通过直接读取位来进行转换来读取汉字。通过读取的两个数字来获得汉字的ASCII码。 而在utf-8中具有自己的编码方式。模拟器中读取的是用GBK编码而显示的是UTF-8. utf-8格式说明 这是为传输而设计的编码其系列还有UTF-7和UTF-16 其中UTF-16和Unicode编码大致一样, UTF-8就是以8位为单元对Unicode进行编码。从Unicode到UTF-8的编码方式如下 Unicode编码(16进制) UTF-8 字节流(二进制) 0000 - 007F 0xxxxxxx 0080 - 07FF 110xxxxx 10xxxxxx 0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx 例如“汉”字的Unicode编码是6C49。6C49在0800-FFFF之间所以肯定要用3字节模板了1110xxxx 10xxxxxx 10xxxxxx。将6C49写成二进制是0110 110001 001001 用这个比特流依次代替模板中的x得到11100110 10110001 10001001即E6 B1 89。
推荐使用UltraEdit进行编辑。 通过读取汉字文本实现效果 代码
begin//屏幕预处理cls()userPage()setTextMode(0)//关闭所有文件。 所有打开的文件都分配一个文件符从09最多10个。一个文件如果已经打开再次打开则会出错。这个文件符是全局的如果打开后没有关闭即使应用程序关闭在内存中关闭文件也是处在打开状态。因此建议每个文件打开是互斥事件文件打开之前把所有的文件符都关闭。/span文件指示符必须是全局变量不能为局部变量$fileClose(0)$fileClose(1)$fileClose(2)$fileClose(3)$fileClose(4)$fileClose(5)$fileClose(6)$fileClose(7)$fileClose(8)$fileClose(9)//检查文件是否存在if !$fileExists(Disk://Text.txt)popUpMsg(文件不存在!)returnendIf//打开文件nFileID$fileOpen(Disk://Text.txt,r)if nFileID0 or nFileID9popUpMsg(文件打开错误!)returnendIf//读取文件resize(sData,1,1)while $fileGet(nFileID,l_sBuff,1)1if l_sBuff!sData[size(sData)-1]l_sBuffappend(sData)endIfendWhile//去掉最后一行空白resize(sData,1,size(sData)-1)// 关闭文件$fileClose(0)$fileClose(1)$fileClose(2)$fileClose(3)$fileClose(4)$fileClose(5)$fileClose(6)$fileClose(7)$fileClose(8)$fileClose(9)//显示文件title(诗歌鉴赏)//诗歌名for l_nIndex0 to 1gotoxy((39-getDisplayLen(sData[l_nIndex]))/2,l_nIndex)put(sData[l_nIndex])endFor//轮流显示while truefor l_nIndex0 to 9gotoxy(0,l_nIndex3)l_nNuml_nNum1if l_nNumsize(sData)l_nNum2endIfl_nNummax(2,l_nNum)put(left(sData[l_nNum] ,35))endFor delay(0.4)endWhileendspan stylefont-size:12px;
/span