VB代码是这样的:
Private Function StrToByte(ByVal strIn As String, ByRef bOut() As Byte) As Byte '将字符串分解成单个字符
Dim i As Integer
Dim dwInLen As LongdwInLen = Len(Trim(strIn)) / 2注释Len是求长度
For i = 0 To dwInLen - 1
bOut(i) = "&H" + Mid(strIn, 2 * i + 1, 2)注释Mid是取其中的字符从2*i开始,取2个
Next i
End Function
Private Function ByteToStr(ByRef bIn() As Byte, ByVal dwInLen As Long, ByRef strOut As String) As Byte '将单个字符合并成字符串
Dim i As IntegerstrOut = ""
For i = 0 To dwInLen - 1
If (bIn(i) <= 10) Then
strOut = strOut & "0" & Hex(bIn(i))
Else
If (Len(Trim(Hex(bIn(i)))) < 2) Then
strOut = strOut & "0" & Hex(bIn(i))注释&是c#里的+,即字符连接
Else
strOut = strOut & Hex(bIn(i))注释Hex是转化成16进制的意思
End If
End If
Next iEnd Function
函数一功能是将string转换成byte[]型,32个字符转化成256个byte.
函数二功能是将256个byte转化成string,其中对二进制有判断。希望大家多帮助,up有分,很感谢!
Private Function StrToByte(ByVal strIn As String, ByRef bOut() As Byte) As Byte '将字符串分解成单个字符
Dim i As Integer
Dim dwInLen As LongdwInLen = Len(Trim(strIn)) / 2注释Len是求长度
For i = 0 To dwInLen - 1
bOut(i) = "&H" + Mid(strIn, 2 * i + 1, 2)注释Mid是取其中的字符从2*i开始,取2个
Next i
End Function
Private Function ByteToStr(ByRef bIn() As Byte, ByVal dwInLen As Long, ByRef strOut As String) As Byte '将单个字符合并成字符串
Dim i As IntegerstrOut = ""
For i = 0 To dwInLen - 1
If (bIn(i) <= 10) Then
strOut = strOut & "0" & Hex(bIn(i))
Else
If (Len(Trim(Hex(bIn(i)))) < 2) Then
strOut = strOut & "0" & Hex(bIn(i))注释&是c#里的+,即字符连接
Else
strOut = strOut & Hex(bIn(i))注释Hex是转化成16进制的意思
End If
End If
Next iEnd Function
函数一功能是将string转换成byte[]型,32个字符转化成256个byte.
函数二功能是将256个byte转化成string,其中对二进制有判断。希望大家多帮助,up有分,很感谢!
解决方案 »
- winform 线程挂起无效果
- 请教一个datatable.select语句的写法
- C# 实现 视频音频 分割
- 怎样得到checkbox的值
- 关于vs2005菜单问题(哪位高人给解决一下)
- 请教通过SqlCommand执行存储过程输入Unicode编码的方法
- 不知是什么错误,所以要大家来帮忙!
- winform 热点 动态添加热点信息
- 求助WinCE程序内存不足怎么办?
- IIS 的虚拟路径下级文件夹中建立新的虚拟路径不成功。
- 我用tcpclient来接受数据,但是我访问不了.client,我想拿到发送方的ip,反射也用过了,老报错,怎么办?????
- 高分求助:如何实现在线考试到时间系统自动提交的问题(急!在线等)
那就up一下!
byte[] b = System.Text.Encoding.Default.GetBytes(s);
string ss = System.Text.Encoding.Default.GetString(b);
CByte Byte 0 到 255,舍入小数部分。
CByte 示例
本示例使用 CByte 函数将表达式转换为 Byte。Dim MyDouble As Double
Dim MyByte As Byte
MyDouble = 125.5678
MyByte = CByte(MyDouble) ' MyByte is set to 126.CChar 示例
本示例使用 CChar 函数将 String 表达式的第一个字符转换为 Char 类型。Dim MyString As String
Dim MyChar As Char
MyString = "BCD" ' CChar converts only first character of string.
MyChar = CChar(MyString) ' MyChar is set to "B".
CChar 的输入参数必须是 String 数据类型。由于 CChar 不能接受数值数据类型,因此无法使用 CChar 将数字转换为字符。本示例获取一个表示代码数据点(字符代码)的数字,然后将其转换为对应的字符。它使用 InputBox 获取数字字符串,并使用 CInt 将该字符串转换为 Integer 类型,然后使用 ChrW 将该数字转换为 Char 类型。Dim MyDigits As String ' Input string of digits to be converted.
Dim CodePoint As Integer ' Number to be represented as a character.
Dim MyChar As Char
MyDigits = InputBox("Enter code point of character:")
CodePoint = CInt(MyDigits) ' Convert entire string to Integer.
MyChar = ChrW(CodePoint) ' MyChar is set to Char value of code point.Asc、AscW 函数请参见
程序集:Microsoft Visual Basic .NET 运行库(位于 Microsoft.VisualBasic.dll 中)
返回一个 Integer 值,该值表示与某个字符相对应的字符代码。备注
Asc 返回输入字符的代码数据点或字符代码。对于单字节字符集 (SBCS),返回值范围为 0 到 255;对于双字节字符集 (DBCS),返回值范围为 -32768 到 32767。返回值取决于当前线程的代码页,该代码页包含在 TextInfo 类的 ANSICodePage 属性中。可以通过指定 System.Globalization.CultureInfo.CurrentCulture.TextInfo.ANSICodePage 来获得 TextInfo.ANSICodePage。
AscW 返回输入字符的 Unicode 代码数据点。返回值范围为 0 到 65535。返回值与当前线程的区域性和代码页设置无关。
注意 对于字节,Visual Basic 早期版本的 AscB 函数返回的是代码,而不是字符。它主要用于在双字节字符集 (DBCS) 应用程序中转换字符串。所有 Visual Basic .NET 字符串均采用 Unicode 的形式,并且不再支持 AscB。
示例
本示例使用 Asc 函数返回与每个字符串的第一个字母相对应的 Integer 字符代码。
Dim MyInt As Integer
MyInt = Asc("A") ' MyInt is set to 65.
MyInt = Asc("a") ' MyInt is set to 97.
MyInt = Asc("Apple") ' MyInt is set to 65.
System.Text.Encoding.UTF8.GetBytes(s)
private string DES_Ecb(string strIn , long dwInLen , string strTransCodeIn , long dwTransCodeInLen , long dwMode)
{
byte[] bTemp=System.Text.Encoding.Default.GetBytes(strIn);//使用到VB中的函数一,但不知道对否?
string strSoftDESEcbOut="";
byte[] bTransCodeTemp=System.Text.Encoding.Default.GetBytes(strTransCodeIn);
byte[] bDESEcbOut=new byte[256];
long dwErrCode;
dwErrCode=SoftDESEcb(ref bTemp[0], dwInLen,ref bTransCodeTemp[0], dwTransCodeInLen, dwMode,ref bDESEcbOut[0]);
ByteToStr(ref bDESEcbOut, dwInLen,ref strSoftDESEcbOut);//=========
return (strSoftDESEcbOut);
}private void ByteToStr(ref byte[] bIn , long dwInLen, ref string strOut) //将单个字符合并成字符串//VB中的函数二的实现
{
//int i;
strOut = "";
for(int j = 0; j<= dwInLen - 1;j++)
{
string bInstr,strHex;long bInLon;
bInstr=bIn[j].ToString();
bInLon=Convert.ToInt32(bInstr,2);
strHex=Convert.ToString(j,16);
if (bIn[j] <= 10)
{
strOut=strOut+"0"+strHex;//strOut = strOut + "0" + bIn[i].Hex(bIn[i]); //strOut = strOut & "0" & Hex(bIn(i))
//string sValue=Convert.ToString(iChar,16);convert2to16=sValue+Convert216(sInputWord);
}
else
{
if (strHex.Length< 2)
{
strOut = strOut + "0" +strHex;
}
else
strOut = strOut + strHex;
}
}
}