Эта строка в кодировке base64 строка:NSString Декодирование Проблема
NSString *[email protected]"ë§ë ë¼ì´";
Это не показывать Orginal строку:
NSLog(@"String is %@",[string cStringUsingEncoding:NSMacOSRomanStringEncoding]);
Эта строка в кодировке base64 строка:NSString Декодирование Проблема
NSString *[email protected]"ë§ë ë¼ì´";
Это не показывать Orginal строку:
NSLog(@"String is %@",[string cStringUsingEncoding:NSMacOSRomanStringEncoding]);
Это будет потому, что Mac OS Roman не имеет ничего общего с кодировкой base64. Кодирование Base-64 - это еще одно кодирование, которое применяет байты, которые представляют исходную строку. Если вы хотите увидеть исходную строку, вам сначала нужно будет дешифровать байтовую строку base-64, а затем вычислить исходную строчную кодировку, чтобы ее интерпретировать.
Это не строка в кодировке Base64. Есть несколько других вещей происходит с вашим кодом, тоже:
Вы не можете включать буквальные символы не-ASCII внутри строковой константы; скорее, вы должны использовать байты, составляющие символ, с префиксом \x
; или в случае Unicode вы можете использовать кодовую точку Unicode, с префиксом \u
. Поэтому ваша строка должна выглядеть примерно как NSString *string = @"\x91\xa4\x91 \x91\x93";
. Но ...
Персонажи ¼
и ´
не являются частью кодировки MacRoman, поэтому у вас возникнут проблемы с их использованием. Вы уверены, что хотите строку MacRoman, а не строку Unicode? Во всяком случае, не многие приложения используют MacRoman.
cStringUsingEncoding:
возвращает строку C, которая должна быть распечатана с %s
, не %@
, так как он не является объектом Objective-C.
Тем не менее, ваш код будет сортировать работы с:
// Using MacRoman encoding in string constant
NSString *s = @"\x91\xa4\x91 \x91\x93";
NSLog(@"%s", [s cStringUsingEncoding:NSMacOSRomanStringEncoding]);
Я говорю «вид работы», потому что, опять же, вы не можете представить, что код в MacRoman.
+1 кроме того, что точка № 1 неверна. Вы можете включать символы не-ascii в константу 'NSString' –
'' ë§ë ¼¼ '' 'is * not * Base64 закодирован. –