Каждая шестнадцатеричная строка является допустимой строкой Base64.
Шестнадцатеричное кодирование дает вам строку, которая представляет байты строки оригинала и состоит из 0-9 и AF.Кодировка Base64 дает вам строку, которая кодирует исходную строку и состоит только из печатных символов (которые, конечно, включают в себя 0-9, AF).
Таким образом, каждая строка, состоящая из 0-9, AF может представлять шестнадцатеричную строку, но также строку Base64 (которая имеет только 0-9, AF).
Вам потребуется другой способ сообщить пользователю кодировку, которая была использована.Примером является отправка структуры типа кодирования вместе со строкой или отправка длины строки оригинала (поэтому, если после декодирования вы получили неправильную длину - это был неправильный режим кодирования).