明明是12个字符,偏偏就算出14个

wenluderen 2019-11-02 10:07:26



Barcode_M12 = Gsz_short_To_ASCII(M11_M12_LW_1400_15FF_1600_17FF(544)) _
+ Gsz_short_To_ASCII(M11_M12_LW_1400_15FF_1600_17FF(545)) _
+ Gsz_short_To_ASCII(M11_M12_LW_1400_15FF_1600_17FF(546)) _
+ Gsz_short_To_ASCII(M11_M12_LW_1400_15FF_1600_17FF(547)) _
+ Gsz_short_To_ASCII(M11_M12_LW_1400_15FF_1600_17FF(548)) _
+ Gsz_short_To_ASCII(M11_M12_LW_1400_15FF_1600_17FF(549)) _
+ Gsz_short_To_ASCII(M11_M12_LW_1400_15FF_1600_17FF(550))
Barcode_M12 = Replace(Barcode_M12, " ", "")
eeeee = Barcode_M12.Length()
If Barcode_M12.Length() <> 14 Then
Gsz_AddWork_List("来自M12设备的二维码错误")
Barcode_M12 = "M12_Error_BarCode"
End If
...全文
423 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_33985901 2019-12-19
  • 打赏
  • 举报
回复
扫描仪一般有 Control Character这个设置的,你打开这个设置让Control Character可见,就知道实际Barcode里有几个字符了。
wanghui0380 2019-12-04
  • 打赏
  • 举报
回复
正常无比,0x00 也叫 \0 也叫nul字符 asc码规定 0x00,叫空字符,对啊,空字符连非可见都算不上,他空 计算机里有很多这样的玩意,比如js的NaN,NaN不是数字的数字
Grey.Jia 2019-12-04
  • 打赏
  • 举报
回复
Barcode_M12 = Replace(Barcode_M12, " ", "") ==>Barcode_M12 = Trim(Barcode_M12)
早起晚睡 2019-12-03
  • 打赏
  • 举报
回复
去空格!!!!!
Hodgins-k 2019-12-02
  • 打赏
  • 举报
回复
去个空格试试
良朋 2019-11-11
  • 打赏
  • 举报
回复
关键是有些字符肉眼不可见:)
清晨曦月 元老 2019-11-06
  • 打赏
  • 举报
回复
Un字符串的结尾有两个null
wy_zhou 2019-11-06
  • 打赏
  • 举报
回复
Trim(string)去掉前后的空格
正怒月神 2019-11-04
  • 打赏
  • 举报
回复
一般来说,这种明显长度不对的。 大多是不可见字符导致的。
  • 打赏
  • 举报
回复
应该是数组中的空影响了,你试试在replace前转成byte看看是什么结果
wenluderen 2019-11-02
  • 打赏
  • 举报
回复
wenluderen 2019-11-02
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
何以见得一定是12,前面的代码每个函数调用分开写,变量检查下。
确实不是12 ,这是肉眼看到了12 .将字符串 转换位byte数组就现出原形

'计算长度
    Public Function Gsz_BarCode_ChangDu(ByVal Gsz_Barcode As String) As Integer
        Dim Gsz_length As Integer = 0

        Dim b As Byte() = Encoding.ASCII.GetBytes(Gsz_Barcode)

        For Gsz_i = 0 To b.Length - 1
            If b(Gsz_i) <> &H0 Then
                Gsz_length = Gsz_length + 1
            End If

        Next
        Return Gsz_length

    End Function



threenewbee 2019-11-02
  • 打赏
  • 举报
回复
何以见得一定是12,前面的代码每个函数调用分开写,变量检查下。

16,722

社区成员

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

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