vb.net判断字节位 vb判断字母

VB.net的mid函数如何按照“字节数”来截取,而不用“字符数”,也就是汉字、全角符号要算2个字节

VB内部采用Unicode编码,在这种编码格式下,任何字符(包括半角的字母、数字、符号以及全角的汉字、符号)都是占用两个字节的。因此,Len("1111徐")的返回值是5,表示5个字符,而LenB("1111徐")的返回值是10,表示占用10个字节。

创新互联凭借专业的设计团队扎实的技术支持、优质高效的服务意识和丰厚的资源优势,提供专业的网站策划、网站建设、成都做网站、网站优化、软件开发、网站改版等服务,在成都十载的网站建设设计经验,为成都上1000+中小型企业策划设计了网站。

要想按ANSI编码格式来获取字符串的字节数,必须这样:

LenB(StrConv("1111徐", vbFromUnicode))

要注意哦,虽然返回值是6,但这个数与这个字符串在内存中的实际占用字节数是不相符的哦!

请问在 vb.net 中如何读取一个文件的前几个字节?

Dim fs As New System.IO.FileStream("D:\1.txt", IO.FileMode.Open, IO.FileAccess.Read)

Dim buffer(3) As Char

Dim re As New System.IO.BinaryReader(fs)

re.Read(buffer, 0, 4)'表示从0位开始读4位

MsgBox(buffer)

VB上位机如何获取一个字节的每个位是0还是1

把这个字节值

与1进行And运算,如果结果为1,则第1位为1,否则就是0;

与2(即2进制数10)进行And运算,如果结果为2,则第2位为1,否则就是0;

与4(即2进制数100)进行And运算,如果结果为4,则第3位为1,否则就是0;

与8(即2进制数1000)进行And运算,如果结果为8,则第4位为1,否则就是0;

与16(即2进制数10000)进行And运算,如果结果为16,则第5位为1,否则就是0;

与32(即2进制数100000)进行And运算,如果结果为32,则第6位为1,否则就是0;

与64(即2进制数1000000)进行And运算,如果结果为64,则第7位为1,否则就是0;

与128(即2进制数10000000)进行And运算,如果结果为128,则第8位为1,否则就是0。

简言之就是把每一位都与1进行And运算,如果该位运算结果仍是1,那么该位就肯定是1,因为只有1和1进行And运算结果才是1,而0和1或者0和0运算结果都是0。

或者也可以把这个数与2进行除法运算,如果有余数(即1),则说明第1位为1,否则就是0,然后再继续把商与2进行除法运算,有余数则第2位为1,否则为0,依此类推,直到最后数值为1或0,无法继续除2为止。

说白了,其实就是把这个数转换为二进制数的形式,然后哪个位是1哪个位是0就一目了然了。

vb 字节 里的位查询

位操作用逻辑比较简单

某一位来说,

设为0用 and 0

1 and 0 = 0

0 and 0 = 0

设为1用 or 1

1 or 1 = 1

0 or 1 = 1

设为反向用 xor 1

1 xor 1 = 0

0 xor 1 = 1

你要判断某一位,就用它去and一个那一位等于1的数

例如

判断最高位是不是为1,就看

6 and 128(二进制为1000 0000) 是不是最后还是128(二进制为1000 0000)

因为根据and,如果第一位是1,最后肯定是10000....

如果第一位是0,那就是000000了

判断其它位,你就自己构造and或者or的数就行了

第二位就 and 0100 0000


分享标题:vb.net判断字节位 vb判断字母
本文来源:http://scyanting.com/article/dosjigj.html