關於轉換流的一點理解

2021-10-02 13:58:13 字數 1096 閱讀 1431

先看如下**:

我工程預設的字符集為utf-8,所以每個ascii字元佔1位元組,這裡我們看到,我們通過write把位元組陣列輸出到控制台的時候,並不是直接以位元組的形式出現的,這意味著不僅僅在read的時候位元組輸入流把讀取的字元decode成了位元組然後讀入位元組陣列,同樣在write的時候位元組輸出流把寫出位元組陣列的位元組encode成了字元。

\quad

轉換流是連通位元組流和字元流的橋梁,inputstreamreader是位元組流通向字元流的橋梁,它使得原本只能寫入位元組到緩衝記憶體的inputstream型別的system.in可以寫入字元,outputstreamwriter是字元流通向位元組流的橋梁,它使得原本只能從緩衝記憶體讀出位元組的printstream型別的system.out可以讀出字元

\quad

但是,無論是inputstream的system.in還是printstream的system.out,它們的方法本身並不支援上述操作。

至於那個int,暫時不懂,個人猜想應該有相應的編碼方式。(我要是懂的話就直接解釋原始碼了。。)

\quad

所以我認為,inputstreamreader應該是把本來應該寫入的位元組轉換成了字元再寫入字串,outputstream應該是把字串裡的字元轉換成本來應該讀出的位元組。

\quad

其它的等我頭髮變少了的時候再完善吧。。

關於malloc的一點理解

在函式中使用malloc,如果是大的記憶體分配,而且malloc與free的次數也不是特別頻繁,使用malloc與free是比較合適的,但是如果記憶體分配比較小,而且次數特別頻繁,那麼使用malloc與free就有些不太合適了。因為過多的malloc與free容易造成記憶體碎片,致使可使用的堆記憶體...

關於HTTPS的一點理解

通訊使用明文 不加密 內容可能會被竊聽。不驗證通訊方的身份,因此有可能遭遇偽裝。無法證明報文的完整性,所以有可能已經遭到篡改。https http 認證 加密 完整性保護 https是與ssl 安全套接層 組合使用的http協議 http secure 使用ssl之後,請求則變成先和ssl通訊,ss...

關於Action的一點理解

之前學習jsp,就是從網上找些jsp例項 然後模仿,再加工成自己想要的,這樣一來,好多東西都是學了一點皮毛,例如action。下面是在看書時所知道的,看完後,有種頓悟的感覺。action的主要功能是生成頁面顯示所需要的資料,頁面則負責顯示action中的所設定的資料。頁面中的標籤在獲得action所...