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
ascii碼的構成規則是什么,ascii碼的構成規則是什麼
ascii碼英文全稱america standard code for information interchange,中文意思 美國資訊交換標準碼。它已被國際標準化組織 iso 定為國際標準,稱為iso 646標準。適用於所有拉丁文字字母,ascii碼有7位碼和8位碼兩種形式。ascii碼於196...
c 怎麼輸出ascii碼對應的字元
幸福不打祥 c 中有對應的公式 是電腦具體編號的一套 必須要先寫公式。先定義字元ch,輸入字元,在把字元強制轉換成整數就是該字元的ascii碼值,即int ch ascii是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼系統,並等同於國際標準iso ...
如何用鍵盤按鍵對應的ascii碼值
鍵盤各鍵對應的ascii碼值 0x指16進位制,delete鍵的ascii碼值是0x2e,也即十進位制的46 0x1 滑鼠左鍵0x2 滑鼠右鍵0x3 cancel 鍵0x4 滑鼠中鍵0x8 backspace 鍵0x9 tab 鍵0xc clear 鍵0xd enter 鍵0x10 shift 鍵0...