C#字符串、字節數組和內存流間的相互轉換 - IT浪潮之巔

定義string變量為str,內存流變量為ms,比特數組為bt

1.字符串=>比特數組

(1)byte[] bt=System.Text.Encoding.Default.GetBytes("字符串");(2)byte[] bt=Convert.FromBase64String("字符串");

補充:

System.Text.Encoding.Unicode.GetBytes(str);
System.Text.Encoding.UTF8.GetBytes(str);
System.Text.Encoding.GetEncoding("gb2312").GetBytes(str); //指定編碼方式
string str = "中國?ss123?";
byte[] bytes = System.Text.Encoding.Default.GetBytes(str); //gb2312編碼 漢字占2個字節、英文字母占1個字節 bytes長度為12 string s = System.Text.Encoding.Default.GetString(new byte[] { bytes[0],bytes[1] });//解碼后為“中”
byte[] bytes = {97, 98, 99, 100, 101, 102}; string str = System.Text.Encoding.ASCII.GetString(bytes); //結果為:abcdef ASCII碼表

????? 常用方法:

GetString  已重載。 在派生類中重寫時,將一個字節序列解碼為一個字符串。
GetChars   已重載。 在派生類中重寫時,將一個字節序列解碼為一組字符。
GetBytes   已重載。 在派生類中重寫時,將一組字符編碼為一個字節序列。GetByteCount  已重載。 在派生類中重寫時,計算對一組字符進行編碼所產生的字節數。
GetCharCount  已重載。 在派生類中被重寫時,計算對字節序列進行解碼所產生的字符數。GetDecoder 在派生類中重寫時,獲取一個解碼器,該解碼器將已編碼的字節序列轉換為字符序列。
GetEncoder 在派生類中重寫時,獲取一個解碼器,該解碼器將Unicode字符序列轉換為已編碼的字節序列

2.比特數組 => 字符串

(1)string str=System.Text.Encoding.Default.GetString(bt);(2)string str=Convert.ToBase64String(bt);

3.字符串 =>

(1)MemoryStream ms=new MemoryStream(System.Text.Encoding.Default.GetBytes("字符串")); (2)MemoryStream ms=new MemoryStream(Convert.FromBase64String("字符串"));

4.流 => 字符串

(1)string str=Convert.ToBase64String(ms.ToArray());(2)string str=System.Text.Encoding.Default.GetString(ms.ToArray());

5.比特數組 =>

(1)MemoryStream ms=new MemoryStream(bt);(2)MemoryStream ms=new MemoryStream();ms.Read(bt,0,bt.Lenght);

6.流 => 比特數組

(1)byte[] bt=ms.ToArray();(2)MemoryStream ms=new MemoryStream();ms.Write(bt,0,ms.Length);

轉載于:https://www.cnblogs.com/lvdongjie/p/5619904.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287204.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287204.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287204.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ios-新浪微博-下拉刷新獲取最新的消息(解決消息重復的問題)(五)

2019獨角獸企業重金招聘Python工程師標準>>> 第一步 在上一篇博文的基礎上,利用新浪提供的since_id進行判斷,在刷新監聽的方法中,引入下面的代碼 結果如下圖 轉載于:https://my.oschina.net/iOSliuhui/blog/520495

sqlserver快速查找所有存儲過程中是否包含某字符

--將text替換成你要查找的內容 select name from sysobjects o, syscomments s where o.id s.id and text like %text% and o.xtype P --將text替換成你要查找的內容 SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LI…

《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(7)我用函數寫了個特洛伊木馬

本系列文章將會以通俗易懂的對話方式進行教學,對話中將涵蓋了新手在學習中的一般問題。此系列將會持續更新,包括別的語言以及實戰都將使用對話的方式進行教學,基礎編程語言教學適用于零基礎小白,之后實戰課程也將會逐步更新。 若…

【經典回放】多種語言系列數據結構算法:隊列(C版)

一、隊列ADT以及C語言實現 1 隊列的原理以及ADT分析 隊列是說:把一些數據按先進先出來組織,如同日常生活中的排隊過程。 隊列最主要的操作是 <1> 數據加入隊列;<2> 從隊列中取出數據; 加入隊列只能加入到隊列尾巴上,而從隊列中取出數據、則只能是取出隊列…

linux修改windows注冊表,妙招:讓修改的注冊表立即生效的幾種方法

建站學院(LieHuo.Net)Windows文檔Windows操作系統是全球最廣泛&#xff0c;使用者最多的軟件&#xff0c;熟悉Windows軟件成了電腦操作者必不可少的功課&#xff0c;注冊表作為“Windows的神經系統”非常重要&#xff0c;相信很多朋友都非常熟悉注冊&#xff0c;在開始&#xf…

Android之通過用戶名和密碼連接指定wifi熱點(兼容Android9.0和Android10.0和addNetwork(wifiNewConfiguration)返回-1問題)

1 需求 通過用戶名和密碼連接指定wifi熱點,網上的代碼亂七八糟,沒幾個可以用,我這邊整理了下,測試了華為Android9.0和小米Android9.0和10.0和OPPO Android9.0 都沒問題,直接回調結果就行。 2 問題 在Android10.0手機上 mWifiManager.addNetwork(wifiNewConfiguration);…

hdu 4530(數學)

小Q系列故事——大笨鐘 Time Limit: 600/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 1458 Accepted Submission(s): 734 Problem Description飽嘗情感苦惱的小Q本打算隱居一段時間&#xff0c;但僅僅在3月25號一天沒有出現&am…

WPF怎么做新手引導界面?

本文經原作者授權以原創方式二次分享&#xff0c;歡迎轉載、分享。原文作者&#xff1a;眾尋原文鏈接&#xff1a;https://www.cnblogs.com/ZXdeveloper/p/8391864.html這兩天不忙&#xff0c;所以&#xff0c;做了一個簡易的新手引導小Demo。因為&#xff0c;不是項目上應用&a…

最全js表單驗證

/***************************************************************** 表單校驗工具類 (linjq) *****************************************************************//** * 判斷整數num是否等于0 * * param num * return * author jiqinlin */function isIntEqZero(num){ r…

《看聊天記錄都學不會C語言?太菜了吧》(19)鞏固開始,數字1、2、3、4能夠組成多少個 3 位數的不同的排列

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我&#xff0c;若你是真心學習可以送你書籍&#xff0c;指導你學習&#xff0c;給予你目標方向的學習路線&#xff0c;無套路&#xff0c;博客為證。 本系列文章將會以通俗易懂的對話方式進行教學&#xff0c;對話中將涵蓋…

阿里云MaxCompute香港開服 將引入更多人工智能服務

9月18日&#xff0c;阿里云宣布大數據計算服務MaxCompute在香港正式開服。通過MaxCompute強大的計算能力&#xff0c;阿里云將為香港市場提供更多的人工智能產品&#xff0c;助力當地企業智能化升級。據了解&#xff0c;MaxCompute向用戶提供了完善的數據導入方案以及多種經典的…

【經典回放】多種語言系列數據結構算法:串(C版)

我們這里說的串、就是標準的C語言的串,這點,和我們教材中另行定義的串并不一致。我們這里強調僅僅是按C語言的標準處理串,是因為你會按C語言的標準構造串、而不是按其它的模式定義的。在我們的教材上,串相當與一個: struct ElemType {char *str; }; 構造的順序表、或者是…

Android之解決開啟熱點后跳轉頁面不穩定問題

1 問題 在Android8.0版本以后,開啟熱點我們采用的下面這種方式,但是跳轉頁面后熱點會斷開,手機不能互相傳文件了 權限說明:Android8.0需要位置權限和GPS權限,同時手機熱點還不能是開啟狀態。 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {try {mWifiManag…

linux如何獲取網卡計數信息,Linux下如何獲取網卡信息

有時候&#xff0c;寫程序的時候需要獲取計算機的網絡信息&#xff0c;比如IP地址、電腦名稱、DNS等信息。IP地址和電腦名稱是比較容易獲取到的&#xff0c;而要想獲取地址掩碼、DNS、網關等信息就有些麻煩了。在Windows下我們一般都是通過從注冊表讀取這些信息。在Linux怎么做…

Redis命令總結

1.用腳本批量刪除key redis-cli -h 127.0.0.1 keys "MAIN:GAME:GID:*" | xargs redis-cli -h 127.0.0.1 del轉載于:https://www.cnblogs.com/hiwen/p/4900968.html

可以只讀的 ServiceCollection

可以只讀的 ServiceCollectionIntro在 .NET 7 Preview 4 中&#xff0c;ServiceCollection 可以聲明為只讀了&#xff0c;這使得我們可以有效避免在構建了 ServiceProvider 之后再新增服務&#xff0c;導致服務注冊失敗。Sample在新的版本中&#xff0c;ServiceCollection 新增…

阿里云與中國聯通首個公共云平臺上線

11月8日&#xff0c;阿里云與中國聯通關于公共云合作的首個項目&#xff1a;浙江聯通“沃云Powered by Alibaba cloud” 平臺&#xff08;cloud.10010zj.com.cn&#xff09;正式發布上線。該平臺將以沃云品牌為客戶提供“阿里云聯通”服務&#xff0c;結合阿里云技術及浙江聯通…

IBM X System ServerGuide 8.41 服務器 系統安裝 引導盤

IBM X System ServerGuide 8.41 支持操作系統: 32位: Microsoft Windows 2003/2003 R2 (Enterprise, Standard, Web and DataCenter UV) Microsoft Small Business Server 2003/2003 R2 (Standard/Premium Edition) Microsoft Windows 2008 (Enterprise, Standard, Web and Dat…

Matlab R2018b簡體中文版完整安裝圖文教程(附安裝包下載)

目 錄 一、安裝過程 二、下載地址 matlab R2018b安裝包如下所示,包括主程序和補丁文件兩部分。 一、安裝過程 雙擊安裝包中的setup.exe。 選擇使用文件安裝MIYAO,點擊下一步。

Android之解決Android10.0通過熱點名字和密碼連接指定熱點網絡不能通信問題(2種解決辦法)

1 問題 Android10.0設備通過熱點名字和密碼連接另外一臺設置指定熱點,但是他們之間依然不能通信,網絡不可達。 Android10.0設備通過熱點名字和密碼連接另外一臺設置指定熱點,我用的是官方API,可以參考我的這篇博客 Android之通過用戶名和密碼連接指定wifi熱點(兼容Android…