在VS2010中,如何显示ASCII表中前32个字符

T1982B 2020-12-03 04:42:15
软件为VS2010旗舰版,开发语言为VB.NET。如何在画面上textbox控件或label控件中显示ASCII表的前32个字符?即显示箭头,三角符这些字符。如第一张图片中的那些字符。谢谢。


注:网上查询说是设置字符集,路径为项目-》项目属性-》配置属性.常规。但打开自己的软件,按这个路径打开的不是这个界面。所以找不到这个字符集设置位置。第二张图片就是网上找的,但我的软件打开后不是这个界面。
...全文
16686 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
T1982B 2021-01-06
  • 打赏
  • 举报
回复
引用 11 楼 hztltgg 的回复:
你似乎还是没明白, 32以前的是控制字符,是不显示的,是要让你代码做些事情的。 你贴的图是很早以前想多显示几个图像符号的方案,现在不需要也不应该这么用了。 你的需求里,也不可能会要你显示这些莫名其妙符号的,如果有组分隔符(29)和传输结束符(4),很可能的意思是,遇到一个29,创建一个新lable,遇到4结束这样。 如果一定要显示这种符号,你就字典或者判断一下也很简单呀,
 If i = 6 Then a = "♠"c
我不太清楚你说的这个说法“现在不需要也不应该这么用了”,而且我的需求也是需要显示这其中某些字符(不是全部显示),不是不可能。我只是单纯的要问问在VB.NET中如何能显示32以前的这些控制字符,在C#中,我已经可以显示这些字符。只是在VB.NET中显示不出来字符。所以问问看有什么办法实现。
hztltgg 2021-01-06
  • 打赏
  • 举报
回复
真神奇了,c#怎么显示的? 32以前是你都已经知道是控制字符,那控制的意思就是表示这个字符是一个控制动作,他不是显示字符啊。 然后是什么理由让你确信ascii里前32位显示的就应该是这些符号?就是baidu的那个图片吗?那个图片也不规范啊,你看看ISO/IEC 646 ,并没有定义这些符号 http://www.doc88.com/p-7364822267765.html
良朋 2021-01-06
  • 打赏
  • 举报
回复
C#中是怎样显示出来的? 代码贴出来,翻成VB.NET不就行了? 而且楼上说的很清楚,如果要显示做个对应字典是可以的。
T1982B 2020-12-24
  • 打赏
  • 举报
回复
引用 1 楼 gs0038 的回复:
for 遍历 1---32 然后 做相当的转换 int i=1 char a=(char)i 就能得到字符了,其它转换自己找了,方法给你了,自己写吧
你好,用 char a=(char)i 这个方式,只能显示32之后的字符,前面的字符还是不能显示。还有其他办法吗?
T1982B 2020-12-24
  • 打赏
  • 举报
回复
引用 2 楼 hztltgg 的回复:
这种远古编码是当时ascii不够,显示占用了控制符位置,现在不需要这样做吧。你lable直接和中文一样就可以了, ♠ ♡ ♢ ♣ ♤ ♥ ♦ ♧ 都是有unicode编码的了,\u2660 \u2661 \u2662 \u2663 \u2664 \u2665 \u2666 \u2667
现在是二维码的编码规则含这些字符,比如第四个EOT字符。而软件中又必须要读到的这些字符,现在按默认的格式,读取时长度和内容就不对了。
hztltgg 2020-12-24
  • 打赏
  • 举报
回复
你似乎还是没明白, 32以前的是控制字符,是不显示的,是要让你代码做些事情的。 你贴的图是很早以前想多显示几个图像符号的方案,现在不需要也不应该这么用了。 你的需求里,也不可能会要你显示这些莫名其妙符号的,如果有组分隔符(29)和传输结束符(4),很可能的意思是,遇到一个29,创建一个新lable,遇到4结束这样。 如果一定要显示这种符号,你就字典或者判断一下也很简单呀,
 If i = 6 Then a = "♠"c
T1982B 2020-12-24
  • 打赏
  • 举报
回复
就是这个图中的字符对应的这些,比如我要显示十进制8对应的字符,或者十进制11对应的字符
T1982B 2020-12-24
  • 打赏
  • 举报
回复
引用 7 楼 hztltgg 的回复:
所以说你为什么看到29要显示为这个双箭头? 29代表组分隔符,并不需要代表双箭头这个图标呀。控制符本身的意思就是你遇到他要做一些事情,比如换行,而不是当作一个类似abc字符显示啊。 如果你就是要编码为图像显示,这些双箭头红桃方块都是unicode字符,你做个字典自己映射一下不就好了么。
32以后的字符,我都能显示出来。我现在无法显示的前面0--31中的某些字符,比如在一个TEXTBOX控件中,显示成:AB,这样的样式。
hztltgg 2020-12-24
  • 打赏
  • 举报
回复
或者说,如果你扫描得到一串字符值是 41 0A 42 ,一个A,一个换行,一个B 你是想显示为 A B 还是应该显示为
A
B
hztltgg 2020-12-24
  • 打赏
  • 举报
回复
所以说你为什么看到29要显示为这个双箭头? 29代表组分隔符,并不需要代表双箭头这个图标呀。控制符本身的意思就是你遇到他要做一些事情,比如换行,而不是当作一个类似abc字符显示啊。 如果你就是要编码为图像显示,这些双箭头红桃方块都是unicode字符,你做个字典自己映射一下不就好了么。
T1982B 2020-12-24
  • 打赏
  • 举报
回复
引用 5 楼 hztltgg 的回复:
二维码的编码规则和ascii有什么关系? char a=(char)i 你拿到这个a的目的是啥? 哪些方块草花的图片和32以下的char并没有你想的那种对应关系
二维码编码规则中字符是这些ASCII字符,比如有ABCDEF字符,也有12345这些字符,也有组分隔符(29)和传输结束符(4)。我要把二维码扫描出来,也要把这些特殊字符扫描显示出来,比如组分隔符显示为
hztltgg 2020-12-24
  • 打赏
  • 举报
回复
二维码的编码规则和ascii有什么关系? char a=(char)i 你拿到这个a的目的是啥? 哪些方块草花的图片和32以下的char并没有你想的那种对应关系
hztltgg 2020-12-11
  • 打赏
  • 举报
回复
这种远古编码是当时ascii不够,显示占用了控制符位置,现在不需要这样做吧。你lable直接和中文一样就可以了, ♠ ♡ ♢ ♣ ♤ ♥ ♦ ♧ 都是有unicode编码的了,\u2660 \u2661 \u2662 \u2663 \u2664 \u2665 \u2666 \u2667
gs0038 2020-12-03
  • 打赏
  • 举报
回复
for 遍历 1---32 然后 做相当的转换 int i=1 char a=(char)i 就能得到字符了,其它转换自己找了,方法给你了,自己写吧

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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