RandomAccessFile出現中文亂碼問題

2022-02-08 17:48:18 字數 781 閱讀 9516

之前程式裡呼叫了randomaccessfile的writebyte(string str)方法,報文裡存在中文的時候出現了亂碼

後面換成了write(byte b)或writebytes(byte b, int off, int len)結果沒有問題了,看了下原始碼,發現裡面主要是對string的getbytes()方法呼叫出了問題

//

這個是randomaccessfile類writebyte()方法內部呼叫的

@deprecated

public

void getbytes(int srcbegin, int srcend, byte dst, int

dstbegin)

//我自己寫**呼叫的,預設是utf-8編碼

public

byte getbytes()

debug進入程式,發現上面標註過期的方法,丟了幾個位元組,方法上的注釋如下

@deprecated  this method does not properly convert characters into

bytes. as of jdk 1.1, the preferred way to do

this

is via the

method, which uses the platform's default charset.

此方法無法將字元正確轉換為位元組。從jdk 1.1開始,執行此操作的首選方法是使用 方法,該方法使用平台的預設字符集。

PHP MySQL儲存資料出現中文亂碼的問題

php mysql出現中文亂碼的原因 1.mysql資料庫的編碼是utf8,與php網頁的編碼格式不一致,就會造成mysql中的中文亂碼。2.使用mysql中建立表 或者選擇欄位時設定的型別不是utf8,而網頁編碼不是utf8,也可能造成mysql中文亂碼.3.php頁面的字符集與資料庫的編碼不一致...

pycharm爬蟲列印網頁出現中文亂碼問題

今天爬了一天的微博,到現在還沒有成功。期間也出現了列印頁面中文顯示亂碼問題。html session.get url print html.text 如果直接列印的話就會出現這樣的結果 這個問題真的卡了好久,後來找了各種文章,原來是網頁編碼問題。print html.encoding iso 885...

pycharm爬蟲列印網頁出現中文亂碼問題

方法一 response requests.get url,verify false response.encoding gbk 將得到的response編碼轉換一下即可。方法二 beautifulsoup解析後得到的soup,列印出來是亂碼,實際上其本身已經是正確的 從原始的gb2312編碼 解析...