VB关于字符编码的问题,懂的高手来下

教科书上写的是:dimstrasstringstr="VisualBasic程序设计教程"s2=StrConv(str,vbFromUnicode)prints2显示为:... 教科书上写的是:
dim str as string
str="Visual Basic 程序设计教程"
s2= StrConv(str, vbFromUnicode)
print s2
显示为:"楖畳污?獡捩??????"(即:乱码)
然后用:
s3= StrConv(str, vbUnicode)
print s3
显示为:"Visual Basic 程序设计教程"(即:又变回来了)

但我实验的时候却变不回来?乱码显示正常,和书上一样,但变不回来原来的语句了.
对了,我用的不是print,是text1和text2分别显示S2和S3,是不是两者有什么区别啊?望高手指点.
我只是想弄明白,为什么用PRINT 就可以乱码后又复原,而用别的,如:LABEL或TEXT等就不行,为什么啊?
展开
 我来答
ljl88900
2008-11-22 · TA获得超过2661个赞
知道大有可为答主
回答量:2197
采纳率:100%
帮助的人:2629万
展开全部
因为s2,s3是变量,而LABEL或TEXT显示控件,它们能把换行符、回车符或其他不可见字符进行转换忽略后再显示,所以,如果用LABEL或TEXT复原,有可能少了某些字符,当然就不行了。
匿名用户
2008-11-22
展开全部
补充~S2.S3 是由你自己定的 它只不过是个变量名而已~

Private Sub Command1_Click()
dim str as string
str="Visual Basic 程序设计教程"
s2= StrConv(str, vbFromUnicode)
print s2
s3= StrConv(s2, vbUnicode) '看好了这里和你的去区别。。
print s3

End Sub

这样就可以了~

至于你说 LABER不行。你建2个LABEL 一个按钮代码如下。你试试保证行。TEXT里代码也是一样的Label1.Caption 换成text1.text
Private Sub Command1_Click()
Dim str As String
str = "Visual Basic 程序设计教程"
s2 = StrConv(str, vbFromUnicode)
Label1.Caption = s2
s3 = StrConv(s2, vbUnicode)
Label2.Caption = s3
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式