C#將byte[]轉換為string

來源:互聯網
上載者:User

標籤:http   io   os   ar   for   資料   div   sp   on   

A、 首先列出網上搜尋的一些資訊:

方法1:

System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding();

byte[] inputBytes =converter.GetBytes(inputString);

string inputString = converter.GetString(inputBytes);

方法2:

string inputString = System.Convert.ToBase64String(inputBytes);

byte[] inputBytes = System.Convert.FromBase64String(inputString);

 

B、接著列出一些調試中出現的錯誤現象:

擷取的byte[]類型值,如下:

 

語句

傳回值

APPID = reader_ApplicationID.GetValue(0)as string;

null

APPID =System.Convert.ToString(arrAPPID);

System.Byte[]

APPID =System.Convert.ToBase64String(arrAPPID);

KWB+Au5GRKGZ3XDuHSf9tA==

System.Text.UnicodeEncoding convert =new System.Text.UnicodeEncoding();

APPID =convert.GetString(arrAPPID);

)`~ u-26603 ?D輕?‘

(亂碼)

APPID =Encoding.Default.GetString(arrAPPID);

)`~ u-26603 ?D輕?‘

(亂碼)

 

查看資料表,Oracle資料庫表中儲存的值為:29607E02EE4644A199DD70EE1D27FDB4

分析儲存結果為十六進位字元,編寫函數實現byte[]轉換成十六進位string功能即可。

private string Byte2String(byte[] arrByte)

{

    StringBuilder sb = new StringBuilder();

    foreach (byte b in arrByte)

    {

        sb.Append(b > 15 ? Convert.ToString(b, 16) : ‘0‘ +Convert.ToString(b, 16));

    }

    return sb.ToString();

}

調用此函數實現byte[]到string的轉換,因為資料表中儲存值為大寫,所以利用ToUpper()方法轉換下得到。

APPID = Byte2String(arrAPPID).ToUpper();

 

(3)   根據擷取的string類型值,進行進一步的操作,例如:

OracleCommand cmd_UserID = conn.CreateCommand();

cmd_UserID.CommandType = CommandType.Text;

cmd_UserID.CommandText = "select USERID from ORA_ASPNET_USERS where LOWEREDUSERNAME=‘" + userName.ToLower() + "‘ and APPLICATIONID=‘" + APPID + "‘";

 

C#將byte[]轉換為string

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.