关于vb.net 中chr函数与chrW函数的区别

zzwdddd 2015-01-14 11:06:28
在vs2010中vb.net中这两个函数弄得头疼。比如说chr(168),输出结果是空的;二chrw(168);输出时“..”;

在vb6中chr(168)时“?”, chrB(168)是“..”;

有谁能给解释下谢谢了
...全文
896 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzwdddd 2015-01-16
  • 打赏
  • 举报
回复
我的是win7
Tiger_Zhao 2015-01-14
  • 打赏
  • 举报
回复
'VB6
Option Explicit

Sub Main()
Test ChrB(168)
Test Chr(168)
Test ChrW(168)
End Sub

Sub Test(ByVal s As String)
Dim a() As Byte
Dim i As Long

a = s
For i = 0 To UBound(a)
If i > 0 Then Debug.Print "-";
Debug.Print Right$("0" & Hex(a(i)), 2);
Next
Debug.Print
End Sub

A8
00-00
A8-00

ChrB 是单字节,只要编码范围 0~255 就行
Chr 用当前编码(中文),128~255 是非法字符,会做替换。
ChrW 就是 Unicode 编码,U+0080~U+00FF 是合法的。不过怎么显示还是和当前的字体有关。

又:我 VB6 的 Chr(168) 也是空啊,你用在哪里变成“?”了?
Tiger_Zhao 2015-01-14
  • 打赏
  • 举报
回复
大概和操作系统有关,我是中文WinXP。
zzwdddd 2015-01-14
  • 打赏
  • 举报
回复
我直接Msgbox(chr(168)) 输出是“?” 啊

7,763

社区成员

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

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