程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> ansi char wchar_t-讀取函數對象的值的內存

ansi char wchar_t-讀取函數對象的值的內存

編輯:編程綜合問答
讀取函數對象的值的內存

圖片說明
如圖,不管char還是int還是其他數組或者string等等的,它們的值在內存中都是由
一個個bit組成的
假如char ch = “a”;然後我要讀取它的內存由101010形式輸出,
可能有人會說int i =ch;然後轉成二進制就行了,但是我現在不要用這種方式,因為有時候char的范圍在-128~127有時候在0~256,所以我想直接讀取內存更加准確直觀。

然後另外一個問題是怎麼獲取char的ANSI碼 和 wchar_t 的Unicode碼

最佳回答:


目的就是為了獲得內存地址,然後通過內存地址獲得數據,對嗎?
首先:你的做法需要計算機位寬問題.
int i = ch是錯誤的。
我提供Linux X64的例子供參考:
#include

int
main(void)
{
char ch = 'a';
long addr = (long)&ch;
printf("ch addr == %ld\n",addr);
printf("addr's data == %c\n",(char)*(long*)addr);
return 0;
}

結果:
ch addr == 140734165139623
addr's data == a

另外:
char本來就是ANSI碼,如果說是字符顯示,則參考ANSI表。
Unicode編碼,印象中wchar_t默認的,如果是轉utf-8什麼的,就要參考一下轉換規則。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved