我收到的服務響應是byte[100]
我該如何將它轉換爲guid?如何將byte [100]轉換爲guid
byte[] response = wc.UploadValues(url, "POST", nvc);
string Guid = new Guid(response).ToString();
Response.Write(Guid);
我收到的服務響應是byte[100]
我該如何將它轉換爲guid?如何將byte [100]轉換爲guid
byte[] response = wc.UploadValues(url, "POST", nvc);
string Guid = new Guid(response).ToString();
Response.Write(Guid);
有一個Guid constructor它允許用戶從一個16元件的字節數組初始化一個GUID。所以你必須首先從你的100個元素數組中提取出16個元素,然後初始化Guid。從你的100個元素數組中提取的16個元素當然要取決於。
現在我懷疑在這裏發生的是服務器在響應中將Guid作爲字符串發送。因此,所有你需要做的就是利用parse it正確的編碼方式從服務器轉換成響應字符串後:
byte[] response = wc.UploadValues(url, "POST", nvc);
var guid = Guid.Parse(Encoding.UTF8.GetString(response));
或懶惰:'新的Guid(response.Take(16).ToArray())' –
@ClausJørgensen,事實上我不認爲這確實是OP的問題。看到我更新的答案。當人們沒有正確解釋並在他們的問題中提供細節時,通常會發生這種情況:他們混淆了每個人,我們只能猜測。 –
是的,我同意。我還發現這個問題相當混亂。 –
我不完全理解您的代碼段,但具有的Guid重載new (byte[])和ToByteArray Method到將Guids轉換爲Byte-Arrays - 應該做的竅門
字節數組的編碼是什麼? – Ankur
看來你已經有了一個解決方案。這不適合你嗎?那它做了什麼? – svick
如果您希望根據結果值創建一個獨特的簽名,我建議您改爲計算一個哈希值,例如[MD5](http://en.wikipedia.org/wiki/MD5) –