У меня есть API, который получает данные Unicode, но мне нужно только хранить в нем ASCII.Я бы хотел сжать и зашифровать (или зашифровать) строковые значения, которые будут сохранены в Юникоде.
Мое желание - либо сжать эти данные схемы, либо зашифровать их любопытными глазами.Я не думаю, что это можно сделать хорошо.
Учитывая, что я хочу ограничить свои исходные данные допустимым, пригодным для печати ASCII;Как я могу "сжать" это исходное строковое значение в значение, которое будет меньше, запутано или и то и другое?
Вот как я могу представить, как это работает (хотя у вас может быть лучший способ):
- Этот исходный код будет принимать данную строку в качестве входных данных
- Будет взято представление этой строки в байтах (UTF8, ASCII, вы решите)
- Происходит какое-то волшебство - (эточасть, в которой мне нужна ваша помощь)
- Полученные байты будут преобразованы в целые или длинные (без десятичных точек)
- Число будет преобразовано в соответствующий символ с помощью этой утилиты http://baseanythingconvert.codeplex.com/SourceControl/changeset/view/77855#1558651
(обратите внимание, что для применения ограничения будет использоваться утилита, заключающаяся в том, что «окончательное» имя Unicode не должно включать следующие символы «/», «\», «#», '?'или'% ')
Фон
В таблице Microsoft Azure есть API, который принимает данные Unicode для имен хранилищ или имен свойств.Это база данных без схемы (поэтому столбцы могут создаваться в произвольном порядке), поэтому схема хранится на строку .Недостатком является то, что эти данные схемы хранятся на диске несколько раз, а также передаются по проводам, с избыточностью, в виде большого двоичного объекта XML.
Кроме того, я работаю над утилитой, которая динамически шифрует / дешифрует данные таблицы Azure, , но схема не зашифрована.Я хотел бы как-то замаскировать или скрыть эту информацию заголовка.