Страница 1 из 1

CJSON: Base64Encode

Добавлено: 22 Октябрь 2025, 18:00
harry
Добрый день!
Столкнулся с тем что преобразование строки в Base64, содержащей символ ASCII <29> с помощью функции printf('%v', Str) дает результат , отличный от ожидаемого (например от преобразования в Notepad++). Причем, обратное преобразование в обоих случаях дает исходную строку.
Есть строка Str='0104670540176099215'W9Um93dGVz' (перед 93dGVz - ASCII <29> )
printf('%v', Str) дает MDEwNDY3MDU0MDE3NjA5OTIxNSdXOVVtHTkzZEdWej==
а в Notepad++
MDEwNDY3MDU0MDE3NjA5OTIxNSdXOVVtHTkzZEdWeg==
отличие в 3-м с конца символе (j и g)
Сервис ожидает именно MDEwNDY3MDU0MDE3NjA5OTIxNSdXOVVtHTkzZEdWeg==
Почему так происходит ? Как решается ? Может, кто сталкивался с этим?

CJSON: Base64Encode

Добавлено: 22 Октябрь 2025, 20:34
Дед Пахом
Спасибо, исправил. Кстати, символ <29> оказался ни при чём. И да, на обратное преобразование это не влияет.

CJSON: Base64Encode

Добавлено: 22 Октябрь 2025, 21:00
harry
Супер! Спасибо!