ios字母與數字相互轉化,ascll碼轉化

2021-07-17 06:08:47 字數 2191 閱讀 4000

上面的結果胃65

int   aaa= 65;

nsstring *string = [nsstring stringwithformat:@"%c",

aaa]; // a

不過,中文就另當別論了。

再使用中文測試一下,使用[nsstring stringwithformat:@"%c", asciicode]得到的是亂碼字元,就是說根本沒識別正確。

再說解決方法之前,先了解一下stringwithformat方法中各種format。其中將ascii碼轉成字元有兩種format,分別為%c和%c。

/* %c

8-bit unsigned character (unsigned char), printed by nslog() as an ascii character, or, if not an ascii character, in the octal format \\ddd or the unicode hexadecimal format \\udddd, where d is a digit.

%c 16-bit unicode character (unichar), printed by nslog() as an ascii character, or, if not an ascii character, in the octal format \\ddd or the unicode hexadecimal format \\udddd, where d is a digit.

*/ 使用[nsstring stringwithformat:@"%c", asciicode]就可以正常得到所要的字元。

分別以英文,中文和日文舉例。

nsstring *thestring = @"g";

unichar thechar = [thestring characteratindex:0];

nsstring *thestring1 = [nsstring stringwithformat:@"%c", thechar];

nsstring *thestring2 = [nsstring stringwithformat:@"%c", thechar];

nslog(@"thestring=%@,%d,%@,%@",thestring,thechar,thestring1,thestring2);

thestring = @"家";

thechar = [thestring characteratindex:0];

thestring1 = [nsstring stringwithformat:@"%c", thechar];

thestring2 = [nsstring stringwithformat:@"%c", thechar];

nslog(@"thestring=%@,%d,%@,%@",thestring,thechar,thestring1,thestring2);

thestring = @"カントリー";

thechar = [thestring characteratindex:2];

thestring1 = [nsstring stringwithformat:@"%c", thechar];

thestring2 = [nsstring stringwithformat:@"%c", thechar];

nslog(@"thestring=%@,%d,%@,%@",thestring,thechar,thestring1,thestring2);

2013-09-12 15:36:27.849 xyshopping[1892:18e03] thestring=g,103,g,g

2013-09-12 15:36:27.849 xyshopping[1892:18e03] thestring=家,23478,?,家

2013-09-12 15:36:27.849 xyshopping[1892:18e03] thestring=カントリー,12488,?,ト

顯示結果表明,這個方法是正確的。對於兩個位元組組成的字元,是能顯示出的。不知道其他語言會怎麼樣,沒有條件去測試。

數字字元與數字之間的相互轉化

1 首先數字字元轉化為數字並按原順序輸出 數字字元與數字之間轉化 用到 str i 0 轉化為乙個整體數字需要用到迴圈 result 10 c 2數字轉化為數字字元按原順序輸出 因為需要按照原順序 所以需要多加乙個迴圈 根據迴圈的位置有兩種方法 第一種 先把數字逆序 用到乙個求餘迴圈 result ...

數字與字串相互轉化 Unicode

vc中數字與字串轉換方法 1,char是最原始的字元資料型別,在非unicode版本的arx中使用 2,wchar t是寬位元組字元型別,在unicode版本中的arx中使用 3,t 是乙個巨集,可以將裡面的字串轉化成所在工程環境中的字元型別 4,tchar是unicode的一種,等同於 t 這個巨...

time t與string相互轉化

方法1,systemtime 型別 指定time t型別的時間,格式化為yyyymmddhh24miss型的字串 void formattime systemtime tm1 指定yyyymmddhh24miss型的時間,格式化為time t型的時間 systemtime formattime2 t...