十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
把字符串“12341168C5B7”转换为16进制数存为string型
创新互联是专业的玉州网站建设公司,玉州接单;提供网站设计制作、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行玉州网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
用shuzi=Convert.ToInt32("12341168C5B7",16)
就ok了。
反之用 shuzi.ToString("X")就行了。
给分!!!
12341168C5B7转换成10进制数就是20014839678391。。
而int32的最大值为2,147,483,647。。所以产生错误。
所以要用int64,它的最大值为9,223,372,036,854,775,807。也就是16位十六进制数0X7FFFFFFFFFFFFFFF。
难道还有比F靠后的数??????
VB6.0可使用Hex函数将Byte型数据转换为十六进制String型数据,并使用Right 函数获取Byte型数据转换为标准两字符的十六进制字符串。
1)Hex 函数,返回代表十六进制数值的 String。
2)Byte 数据类型,Byte 变量存储为单精度型、无符号整型、8 位(1个字节)的数值形式,范围在 0 至 255 之间。
3)Right 函数,返回 Variant (String),其中包含从字符串右边取出的指定数量的字符。
4)十六进制,十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。
5)串口接收实际代码:
Private Sub MSComm1_OnComm() '接收数据
Dim strBuff As String
Select Case MSComm1.CommEvent
Case 2
MSComm1.InputLen = 0
strBuff = MSComm1.Input
BytReceived() = strBuff
jieshou
lenInput = Len(strData)
'数据处理代码
End Select
End Sub
Public Function jieshou() '接收数据处理为16进制字符串
Dim i As Integer
For i = 0 To UBound(BytReceived)
If Len(Hex(BytReceived(i))) = 1 Then
strData = strData "0" Hex(BytReceived(i)) " "
Else
strData = strData Hex(BytReceived(i)) " "
End If
Next
RichTextBox1.Text = strData
End Function
6)VB6.0使用CStr 函数将一Byte数值,转换为 String(文本型)。
CStr 函数示例:
Dim MyByte, MyString
MyByte =128 ' MyDouble 为 Byte 数据类型。
MyString = CStr(MyByte) ' MyString 的内容为“128”。
1、字节数组转换为字符串
byte[] byBuffer = new byte[20];
String strRead = new String(byBuffer);
strRead = String.copyValueOf(strRead.toCharArray(), 0, byBuffer.length]);
2、字符串转换成字节数组
byte[] byBuffer = new byte[200];
String strInput=abcdefg;
byBuffer= strInput.getBytes();
注意:如果字符串里面含有中文,要特别注意,在android系统下,默认是UTF8编码,一个中文字符相当于3个字节,只有gb2312下一个中文相当于2字节。这种情况下可采取以下办法:
Dim arr1() As Byte = {HA, H0, H1, H3}
MsgBox(CStr(arr1(0)))