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有分,很感谢!

解决方案 »

  1.   

    up真地有分吗?
    那就up一下!
      

  2.   

    string s = "abcdefghijklmnopqrstuvwxyz123456";
    byte[] b = System.Text.Encoding.Default.GetBytes(s);
    string ss = System.Text.Encoding.Default.GetString(b);
      

  3.   

    真的不明白你做什么,我查了查相关函数你自己看看吧
    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.
      

  4.   

    string s = "abcdefghijklmnopqrstuvwxyz123456";
    System.Text.Encoding.UTF8.GetBytes(s)
      

  5.   

    我的c#代码是:
    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;
    }
    }
    }