1. ホーム
  2. iphone

[解決済み] Objective-C で16進文字列を解析して整数化する。

2023-02-14 21:40:51

質問

Objective-Cで数字を表す16進文字列をパースする方法を知りたいです。私は客観的な、またはCベースのメソッドの両方を使用するつもりです、どちらか一方でも結構です。

の例です。

#01FFFFAB

は整数にパースする必要があります。 33554347

どんな助けでも感謝します!

どのように解決するのですか?

Joshua Weinberg氏の回答はほぼ正しいのですが、その中の 0x の接頭辞は16進整数をスキャンするときにはオプションです。もし、文字列が #01FFFFAB という形式の文字列がある場合でも NSScanner を使うこともできますが、最初の文字を省略することができます。

unsigned result = 0;
NSScanner *scanner = [NSScanner scannerWithString:@"#01FFFFAB"];

[scanner setScanLocation:1]; // bypass '#' character
[scanner scanHexInt:&result];