最近我在使用C語言傳輸數(shù)據(jù)時遇到了一個問題,傳輸?shù)腏son數(shù)據(jù)中含有%3c d這個字符串,結(jié)果卻出現(xiàn)了意想不到的結(jié)果。
char data[100] = "{\"name\":\"小明\",\"age\":18,\"action\":\"學(xué)習(xí)%3c d\"}";
在嘗試把這個Json數(shù)據(jù)傳輸給后臺時,我發(fā)現(xiàn)數(shù)據(jù)傳輸出錯了。
通過對這個問題的仔細分析,我發(fā)現(xiàn)是因為%3c d被當(dāng)成了html實體編碼,所以在數(shù)據(jù)傳輸過程中出現(xiàn)了亂碼。
為了解決這個問題,我決定對Json中的%3c d進行轉(zhuǎn)義,把它轉(zhuǎn)成< d。
char data[100] = "{\"name\":\"小明\",\"age\":18,\"action\":\"學(xué)習(xí)< d\"}";
經(jīng)過這樣的操作后,我再次把數(shù)據(jù)傳輸?shù)胶笈_,結(jié)果就一切正常了。
C語言的數(shù)據(jù)傳輸要注意不僅僅是數(shù)據(jù)的格式,還要注意特殊字符的轉(zhuǎn)義。只有這樣才能保證數(shù)據(jù)的正確傳輸。
上一篇python 殺掉進程
下一篇el解析json字符串