首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
按声母检索 | A | B | C | D | E | F | G | H | J | K | L | M | N | O | P | Q | R | S | T | W | X | Y | Z | 数字 | 符号 |
|
![]() |
您的位置: 5VAR论文频道 → 论文中心 → 计算机论文 → 计算机应用 |
|
|||||
怎样从二进制流中恢复汉字信息 | |||||
收集整理:佚名 来源:本站整理 时间:2009-01-10 11:54:06 点击数:[] ![]() |
|||||
[本篇论文由上帝论文网为您收集整理,上帝论文网http://paper.5var.com将为您整理更多优秀的免费论文,谢谢您的支持] 摘 要:本文介绍了汉字的存储和处理原理,通过几段典型的程序介绍了从二进制流中恢复汉字时常见的问题及解决的办法。 关键词:汉字 处理 编程 我们处理的字符信息,通常是中英文混排的,有时处理不当,会出现汉字不能正常显示的现象。这主要是由于不了解汉字的存储原理和处理原理,以及处理时未考虑汉字的特点造成的。 改进的方法是将一个汉字的两个字节识别成一组,将第一个字节高移8位(乘以28即256),再组合第二个字节,最后统一转换。这样,我们将<程序2>改造成<程序3>。 ‘<程序3> Dim I As Integer, S As String, Tmp As Single I = 0 Do While I <= L - 1 If X(I) <= 128 Then ‘对于普通字符,直接转换 S = S & Chr(X(I)) I = I + 1 Else ‘与下一元素组合起来是一个汉字 Tmp = 256# * X(I) + X(I + 1) S = S & Chr(Tmp) I = I + 2 End If Loop MsgBox S ‘显示 2.2 网页中上传文件时恢复上传的字符 在进行Web开发时,经常需要上传文件,这时表单的MIME类型要指定为multipart/form-data方式。网站服务器接收到二进制流后,需要将其中的一些信息恢复成正常的字符。 下面是Internet上流行的解码程序中的一个函数getString,用于将一个二进制串恢复成字符。 ‘<程序4> Function getString(StringBin) For intCount = 1 to LenB(StringBin) getString = getString & Chr(AscB(MidB(StringBin,intCount,1))) Next intCount End Function 这段程序有一个问题,就是不能正常恢复汉字信息,改进后的程序如下: ‘<程序5> Function getString(StringBin) intCount=1 Do While intCount <= LenB(StringBin) If AscB(MidB(StringBin,intCount,1))<=128 then getString = getString & Chr(AscB(MidB(StringBin,intCount,1))) intCount=intCount+1 Else Strss=256.0*AscB(MidB(StringBin,intCount,1))+AscB(MidB(StringBin,intCount+1,1)) getString = getString & Chr(strss) intCount=intCount+2 ` End If Loop End Function Tags: |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |