急!ASC码转换问题

tt0234 2008-02-28 10:53:17
我们知道正常的ASC到127,之后的为扩展ASC码。
现需要做一个软件,需要用到扩展ASC码。
我的系统为英文,工具为VB6.0,输入扩展ASC转换时,字符对应就不对了。
如:é,查表为130,但asc("é")返回的是233
有谁可以帮忙解释下!是否函数是使用不正确?
有什么具体的说法不?
谢谢!
...全文
120 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lianxiangpanjin 2008-03-02
  • 打赏
  • 举报
回复

总结楼上:
1.ascb

2.dim aa() as byte
aa=strconv("é",vbFromUniocde)
msgbox(aa(0))



WM_JAWIN 2008-03-02
  • 打赏
  • 举报
回复

dim aa() as byte
aa=strconv("é",vbFromUniocde)
msgbox(aa(0))

试这一段
Alices 2008-03-02
  • 打赏
  • 举报
回复

Dim EnAsc As New Text.ASCIIEncoding
Dim EnUtf8 As New Text.UTF8Encoding
Dim EnUtf32 As New Text.UTF32Encoding
Dim EnUni As New Text.UnicodeEncoding

Console.WriteLine(Asc("é"c))'-22362
Console.WriteLine(AscW("é"c)) '233 = &HE9
Console.WriteLine(ChrW(233)) 'é

Console.WriteLine(BitConverter.ToString(EnAsc.GetBytes("é"c))) '3F
Console.WriteLine(BitConverter.ToString(EnUtf8.GetBytes("é"c))) 'C3-A9
Console.WriteLine(BitConverter.ToString(EnUtf32.GetBytes("é"c)))'E9-00-00-00
Console.WriteLine(BitConverter.ToString(EnUni.GetBytes("é"c)))'E9-00

用户 昵称 2008-02-29
  • 打赏
  • 举报
回复
在纯dos下输入 alt + 130确实是é,但是在windows下,建一个文件,输入é,保存,用winhex查看,又确实是233。
用户 昵称 2008-02-29
  • 打赏
  • 举报
回复
The range for returns is 0 – 255 on non-DBCS systems, but –32768 – 32767 on DBCS systems.

试试ascb
用户 昵称 2008-02-29
  • 打赏
  • 举报
回复
ascw?

在英文下,那个字符就像dos下的了
qiu5208 2008-02-29
  • 打赏
  • 举报
回复
试了一下asc("é")返回是-22362,与你不同
是Unicode码

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧