vb.net – 字符看起来像ASCII 63但不是这样我无法删除它

vb.net – 字符看起来像ASCII 63但不是这样我无法删除它,第1张

概述我正在从文本文件中读取文本.文本文件必须读取的第一个字符串是“Algood”,并注意spaaaaaace.在记事本中,似乎这个字符串中有一个spaaaaaace,但事实并非如此.当我在Visual Studio的QuickWatch中测试第6个(从零开始的索引)字符时,它显示为: "�"c 当我使用Asc函数获取ASCII码时,它告诉我ASCII码是63. 63是一个问号.但是当我测试以查看字符串 我正在从文本文件中读取文本.文本文件必须读取的第一个字符串是“Algood”,并注意spaaaaaace.在记事本中,似乎这个字符串中有一个spaaaaaace,但事实并非如此.当我在Visual Studio的QuickWatch中测试第6个(从零开始的索引)字符时,它显示为:

"�"c

当我使用Asc函数获取ASCII码时,它告诉我ASCII码是63. 63是一个问号.但是当我测试以查看字符串是否包含ASCII 63时,它会测试为false.所以看起来字符串包含带有ASCII码63的字符,只有它没有,它包含一些其他字符,它们测试为ASCII码63.这是一个问题:如果我不这样做,我就无法删除该字符知道怎么称呼它.我可以删除最后一个字符,但文本文件中的每个字符串都不包含此字符.

问题是:如果不是问号,这个字符是什么,我怎样才能唯一识别所以我可以删除它?

解决方法 它是 Unicode replacement character,U FFFD,又名ChrW(& HFFFD).

永远不要使用Asc()或Chr(),它们是不能处理Unicode的传统VB6函数.将一个奇特的Unicode代码点传递给Asc()总是产生63,“?”c的字符代码,又名“我不知道你在说什么”.与“ ”c完全相同的想法,但改为使用ASCII代码.

看到死亡的黑钻石总是坏消息,当字符串从底层字节值转换时出现了问题.因为某些字节值没有产生有效字符.这是你真正应该寻找的,你总是想避免GIGO. Garbage In Garbage Out是一个丑陋的数据损坏问题,没有赢家,只有受害者.您.

总结

以上是内存溢出为你收集整理的vb.net – 字符看起来像ASCII 63但不是这样我无法删除它全部内容,希望文章能够帮你解决vb.net – 字符看起来像ASCII 63但不是这样我无法删除它所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1235997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存