2012-01-13 7 views
1

例をHexに%のC7%E1%D3%C8%CA (windows-1256エンコーディング)NSStringのは

私が欲しいのは、アラビア文字列をこのように16進数に変換する方法です。

答えて

2

可能溶液:

NSString *day [email protected]"السبت"; 
NSData *strData = [day dataUsingEncoding:NSWindowsCP1254StringEncoding]; 
NSMutableString *mut = [NSMutableString string]; 
int i; 
for (i = 0; i < [strData length]; i++) 
{ 
    [mut appendFormat:@"%%%02X", ((char *)[strData bytes])[i]]; 
} 

mut日の16進数の符号化表現を含むことになります。

+0

あなたの答えに感謝します。 – NouNou

+0

問題ありません。あなたはいつでも/ upvoteを受け入れることができます。 –

+1

多分... 00-0fをフォーマットする必要があるかどうかを知るには十分な情報がありません。ゼロ埋め込みでなければならない場合、フォーマットは@ "%%% 0.2X" –

0

何かのようなもの[day stringByAddingPercentEscapesUsingEncoding:@"whatever"]

+0

私はこれを試していただきありがとうございます。 – NouNou

+0

それは文字を正しくエスケープしません...他の方法は、CoreFoundation関数を使用することですが、それはやや複雑です。私の解決策はすべてのアラビア語の文字をエスケープします。 –

+0

@ Michael Krelin @ H2CO3うまく動作します。 – NouNou