Public Function us7change(ByVal sourcestr As String) As String
        Dim str As String
        Dim tmpstr As Byte() = Encoding.GetEncoding("gb2312").GetBytes(sourcestr)
        For i As Integer = 0 To tmpstr.Length - 1
            str = str & tmpstr(i)
        Next
 
        Dim drtstr As String
        For i As Integer = 0 To str.Length - 4
            Dim tmpstr2(1) As Byte
            tmpstr2(0) = str.Substring(i, 2) + 128
            tmpstr2(1) = str.Substring(i + 2, 2) + 128
            drtstr = drtstr + Encoding.Default.GetString(tmpstr2)
            i = i + 3
        Next
        Return drtstr
    End Function主要是下面这段该怎么转换 
Dim tmpstr2(1) As Byte
tmpstr2(0) = str.Substring(i, 2) + 128

解决方案 »

  1.   

    Byte[] b=new Byte[2];
    b[0]=1;
    b[1]=...
      

  2.   

    byte[] tmpstr2=new byte[2];
     tmpstr2[0] = str.Substring(i, 2) + 128; tmpstr2[1] = str.Substring(i+2, 2) + 128;
      

  3.   

    tmpstr2[0] = str.Substring(i, 2) + 128;
    错误,无法将str.Substring(i, 2) + 128;
    隐式转换为byte
      

  4.   

    tmpstr2[0] = byte.Parse( str.Substring(i, 2)) +Convert.ToByte(128);话说这不是越界了么?要转编码?System.Text.Encoding.GetEncoding("").GetBytes("");
    不就可以了么?
      

  5.   


    public string us7change(string sourcestr)
    {
        string str;
        byte[] tmpstr = Encoding.GetEncoding("gb2312").GetBytes(sourcestr);
        for(int i=0;i<tmpstr.Length;tmpstr.Length--)
        {
         str = str + tmpstr[i];
        }    string drtstr;
        for(int i=0;i<str.Length;i=i-4)
        {
    byte tmpstr2[1];
            tmpstr2[0] = str.SubString(i,2) +128;
            tmpstr2[1] = str.SubString(i+2,2) +128;
            drtstr = drtstr + Encoding.Default.GetString(tmpstr2)
            i = i +3 ; 
        }
        return drtstr;
        
    }按照你的 代码 手动写的,语法和你的一样
      

  6.   

    如果出现 转换 错误之类的,你自己 Convert下 
      

  7.   

    [Quote=引用 5 楼  的回复:]tmpstr2[0] = byte.Parse( str.Substring(i, 2)) +Convert.ToByte(128);错误,无法将int隐试转换为byte
      

  8.   

    果然是简单问题有大坑啊
    tmpstr2[0] = byte.Parse(str.Substring(0, 2));
    tmpstr2[0] += 128;