詭異的NSString顯示

非常詭異的現(xiàn)象,字典里明明是"Dsdcdc",取出來就少了幾個(gè)字節(jié)?!

當(dāng)然,最后發(fā)現(xiàn)問題也很簡單。原本的text是我從NSData轉(zhuǎn)出來的,結(jié)果系統(tǒng)給后面加了一些尾巴


NSData轉(zhuǎn)NSString用的這個(gè)方法

[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

initWithData:encoding的文檔特別說明,里面的數(shù)據(jù)會先轉(zhuǎn)換為UTF-16,結(jié)果里面一個(gè)'\0'會變成2個(gè)

An NSString object initialized by converting the bytes in data into UTF-16 code units using encoding. The returned object may be different from the original receiver. Returns nil if the initialization fails for some reason (for example if data does not represent valid data for encoding).

當(dāng)把這個(gè)string丟給UITextFiled,能正常顯示0前面的,繼續(xù)輸入文字內(nèi)部調(diào)用append方法,加到了'\0'后面。Debugger能全部顯示,但是你po處理就只有前面一部分。

正確的方法是UTF8的data轉(zhuǎn)NSString,用下面的方法可以了

[NSString stringWithUTF8String:data.bytes];;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 之前的項(xiàng)目中接觸過一些加密的方法,也沒有太仔細(xì)的進(jìn)行記錄和研究。最近在寫SDK時(shí),加密模塊的占比相當(dāng)之大;借此時(shí)機(jī)...
    過半_e764閱讀 696評論 0 0
  • 接下來我們看base文件下的Foundation文件夾下文件 Base - Foundation 這個(gè)文件夾里面的...
    充滿活力的早晨閱讀 2,294評論 0 1
  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,911評論 0 13
  • 引言 如今手機(jī)app五彩繽紛,確保手機(jī)用戶的數(shù)據(jù)安全是開發(fā)人員必須掌握的技巧,下面通過實(shí)例介紹DES在androi...
    freesan44閱讀 1,228評論 1 1
  • 坐在地鐵里,聽著音樂,是逃跑樂隊(duì)的《夜空中最閃亮的星》,我把包放在腿上,雙手交叉搭在上面,頭低著歪向左邊,有點(diǎn)冷,...
    陳清偉閱讀 305評論 0 0

友情鏈接更多精彩內(nèi)容