Разница - это символ конца строки.Когда вы используете "echo", он выводит новую строку:
base64 -D | od -c
Tmd1eWVuIFRyYW4gVmlldCBBCg==
0000000 N g u y e n T r a n V i e t
0000020 A \n
0000023
В примере ObjC нет новой строки.Вы, вероятно, сделали что-то вроде
[@"Nguyen Tran Viet A" base64Encode]
, которое выдает:
base64 -D | od -c
Tmd1eWVuIFRyYW4gVmlldCBB
0000000 N g u y e n T r a n V i e t
0000020 A
0000022
Нет завершающей строки.Так что они оба верны - вы просто закодировали немного разные вещи.