Просто подать заявку
format newString $base64x64.;
фактически не меняет значение newString вообще. Когда вы говорите, что OldString выглядит так же, как новая строка, что вы имеете в виду? Вы говорите, что длинные строки не будут кодироваться, поэтому я предполагаю, что вы видите некоторые доказательства кодирования в вашем методе.
Обратите внимание, что вы указали явную длину 64 для формата, так что отформатированное значение займет ширину поля 64. Таким образом, вы сможете кодировать только строку длиной 48 с этим форматом ( BASE64 генерирует 4 байта на каждые 3 дюйма). Вы говорите длинную строку, но как долго? Как упоминает Гилберт, максимальная длина формата в формате BASE64X составляет 32767, что означает, что максимальная выходная строка base64, которую вы можете сгенерировать, равна 32767. Возможно, ваша входная строка слишком длинная, и вам придется как-то ее разделить .