Я работаю над инструментом, который читает произвольные файлы данных и создает таблицу из своих данных, которую я затем сохраняю в базе данных.Я хотел бы сохранить заголовки столбцов.Заголовки столбцов уже являются текстом ASCII (или, возможно, латинским1), но в них есть символы, которые не являются допустимыми именами переменных (например, пробелы,%), поэтому мне нужно как-то их кодировать.Я ищу кодировку для заголовков столбцов, которая имеет следующие свойства:
- Разборчивый : было бы неплохо, если бы закодированный текст выглядел максимально похожим на незакодированный текст(т. е. для отладки).
- Юридический идентификатор : хотелось бы, чтобы закодированный текст был допустимым идентификатором JavaScript ( ECMA-262, раздел 7.6 ).
- Обратимый : Я хотел бы иметь возможность получить точный исходный текст из закодированного текста.
Я могу придумать подходы, которые работают для 2из 3 случаев, но я не знаю, как получить все 3. Например, url encoding
не производит имена допустимых идентификаторов, я думаю, я мог бы преобразовать base64
, чтобы они были легальными, но это не разборчиво, чтоУ меня в данный момент есть только некоторые замены, так что это не обратимо.
Эффективность не имеет значения, поэтому при необходимости я мог бы хранить закодированные и некодированные тексты вместе.Лучший вариант, который я могу придумать, - это использовать url encoding
, а затем поменять проценты на $
.Я думал, что будут лучшие варианты, чем этот, но я не могу ничего найти.Есть что-нибудь лучше?