本当の答えではありませんが、元の質問が「16進」と「2進」の区別について混乱していると思われます。最新のコンピュータ内部のすべてのデータは、「ビット」、つまり 1 と 0 で操作されます。「整数」は通常、32 個または 64 個の 1/0 を組み合わせたものです。「文字」は、特定の文字セットとコンテキストに応じて、8、16、または 32 個の 1/0 です。
人間がこれらの電子的な 1 と 0 を調べることができるようにするには、それらを人間が読める形式で提示する必要があります。最も単純なのは「バイナリ」です。たとえば、00001010 バイナリの数値は 10 (10 進数) です。2 進数はあまりコンパクトではないため、「8 進数」が発明されました。8 進数では、バイナリ値 00001010 は 012 になります。
しかし、ほとんどのコンピューターの「単語」は 8 ビットの倍数であり、8 進数は 8 ビットの倍数を均等に表すわけではないため、「16 進数」(「16 進数」) が発明されました。16 進数では、00001010 は 0A として表されます。
これが意味することは、何かを 16 進数に「変換」するのは、それを表示するときだけだということです。しかし、かなり頻繁に初心者はこの点で混乱し、たとえば文字を数値内部表現に変換することは「16 進数に変換する」ことだと考えます。
実際、文字にはすでに数値の内部表現があります。個々の文字を抽出し、(オプションで) それを整数型に "キャスト" するだけです ("キャスト" は値を変更せず、型のみを変更することに注意してください)。格納できる変数)。
彼の最後の文で、OP はint
値の配列が必要であることを示しました。個々の NSString 文字はすでに整数であり、unichar
タイプのみです。整数への「変換」は、目的のターゲット型にキャストするだけの問題です。