1樓:匿名使用者
這個是因為你對漢字的編碼不瞭解引起的。
對於gb2312的字元(就是我們平時所說的區位),一個漢字對應於兩個位元組。
每個位元組都是大於a0(十六進位制),
倘若,你的第一個位元組大於a0,而你的第二個位元組小於a0,那麼它應當不是漢字(僅僅對於gb2312),不知道你能否理解我說的。
如果真的發生這種情況(你的第一個位元組大於a0,而你的第二個位元組小於a0),那麼系統找不到一個漢字與它對應,極有可能顯示是兩個字元(ascii),第一個是就如你上面的?,第二個字元可能就是正常的ascii碼。
對於現在的gbk編碼是要求漢字每個位元組都超過80(十六進位制,對應於十進位制的128),當然有一些碼是沒有漢字對應的。
現在還有big5碼、萬國碼,現在的漢字編碼也複雜了。
哎。瞭解就行。
2樓:匿名使用者
使用char強制將一個十進位制數轉化為字元的時候,超過128的數都會顯示「?」
既然是十進位制數,怎麼會超過128呢?
3樓:匿名使用者
用abs() setstr() 兩個函式
如:abs(a)=32
setstr('32'=a)
應該懂了吧
matlab中怎樣把ascii碼轉換成字串
4樓:我不能變胖
如果是字元的話 直接int16(a)就能轉換 如果是數字 先num2str 再用int16轉
5樓:都希許夜蓉
用char函式
如:a=[97
9899]
b=char(a)
------執行結果:a=
979899b
=abc
matlab中怎麼把libsvm資料轉化成matlab格式
label vector,instance matrix libsvmread data.txt 用這個函式 data.txt是你的資料文字,label vector是類別號,instance matrix是屬性矩陣 matlab中怎麼把libsvm資料轉化成matlab格式 matlab中怎麼把l...
ascii碼值是多少?
a z 97 122,a z 65 90,0 9 48 57。ascii 碼使用指定的7位或8位二進位制陣列合來表示128 或256種可能的字元。標準ascii 碼也叫基礎ascii碼,使用7位二進位制數來表示所有的大寫和小寫字母,數字0 到9 標點符號,以及在美式英語中使用的特殊控制字元。1 0 ...
java中,如何把ascii碼轉換成字元
如果是單個字元的話,直接轉換就可以 int d 97 char e char d 如果是一串內ascii碼的話,最好存在 容byte中 byte b system.out.println new string b char a a 97 system.out.println a 在java中如何將字...