首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >压缩ASCII数据以适应UTF-32 API?

压缩ASCII数据以适应UTF-32 API?
EN

Stack Overflow用户
提问于 2011-08-04 20:13:58
回答 1查看 256关注 0票数 0

我有一个接收Unicode数据的API,但是我只需要将ASCII存储在其中。我想压缩和混淆(或加密)将在Unicode中持久化的字符串值。

我的愿望是要么压缩这个模式数据,要么从窥探中加密它。我认为两者都做不好。

考虑到我希望将我的源数据限制为有效的、可打印的ASCII;我如何将原始字符串值“压缩”成一个更小、更模糊或两者兼而有之的值?

下面是我的设想(尽管您可能有更好的方法):

  1. 此源代码将以给定的字符串作为输入。
  2. 将采用该字符串的字节表示形式(UTF8,ASCII,您决定)
  3. 一些魔术发生了-(这是我需要你帮助的部分)
  4. 得到的字节将转换为int或long (没有小数点)。
  5. 该数字将使用此实用程序http://baseanythingconvert.codeplex.com/SourceControl/changeset/view/77855#1558651转换为相应的字符。

(请注意,将使用实用程序来强制执行约束,即“最终”Unicode名称必须不包括以下字符'/‘、'\’、'#‘、'?’?或“%”)

背景

Microsoft表有一个API,用于接受存储或属性名称的Unicode数据。这是一个无模式的数据库(因此可以临时创建列),因此模式存储在每一行。缺点是这个模式数据被多次存储在磁盘上,而且它也是通过有线(相当冗余)在XML blob中传输的。

此外,我正在开发一个实用程序,它是动态加密/解密Azure表数据,的,但是模式是未加密的。我想以某种方式掩盖或混淆这个标题信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-04 20:57:34

这些只是一些想法。

第3步不是很简单吗(只需将数据压缩和/或加密成不同的字节)?对于7位的ASCII,您还可以在压缩和/或加密之前,通过打包数据来存储数据,这样它们才能容纳更少的字节。

如果您可以在步骤5中使用UTF-32、UTF-8等,则可以访问Unicode标准中的所有字符,最多可达0x10FFD,但有一些例外;例如,一些代码点是Unicode标准中的非字符,例如0xFFFF,而另一些则是无效字符,例如0xD 800。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6947956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档