是否有一个非常简单的压缩技术,用于长度不超过255个字符的字符串(是的,我正在压缩URL)?
我并不关心压缩的强度 - 我正在寻找一些性能非常好且能够快速实现的东西.我想要一些比SharpZipLib更简单的东西:可以用几个简短的方法实现的东西.
我有一组(巨大的)类似的数据文件.该集合不断增长.单个文件的大小约为10K.每个文件都必须自己压缩.使用zlib库完成压缩,该库由java.util.zip.Deflater
类使用.使用字典将字典传递给Deflate算法时setDictionary
,我可以提高压缩率.
有没有办法(算法)找到'最佳'字典,即具有整体最佳压缩比的字典?
请参阅zlib手册
我有一些C代码在内存中存储ASCII字符串作为四字节长度后跟字符串.字符串长度在10-250字节范围内.
为了减少占用,我想在运行中单独压缩每个字符串,仍然存储(压缩字符串的)长度,然后是压缩字符串.
我不想在比单个字符串更大的范围内压缩,因为任何字符串都可以随时读/写.
有哪些库/算法可用于此目的?
谢谢你的帮助.NickB
我需要将10到1000个字符的字符串(用已知但可变的语言编写)压缩成单独的UDP数据包.
Java中可用的哪些压缩算法非常适合此任务?
是否有可用的开源Java库?
我有一个长度恰好为53个字符的字符串,其中包含一组有限的可能字符.
[A-Za-z0-9\.\-~_+]{53}
Run Code Online (Sandbox Code Playgroud)
我需要将其减少到50而不会丢失信息并使用相同的字符集.
我认为应该可以将大多数字符串压缩到50长度,但所有可能长度为53的字符串是否可能?我们知道在最坏的情况下,可能的集合中的14个字符将被使用.我们可以使用这些信息吗?
谢谢阅读.
我正在尝试通过铱星网络传输字符串,并且发送数据的成本相当大。我想知道是否有办法压缩大字符串,例如:
{"packet":01,"reporting time":1500, "altitude":6500,"latitude":0,"longitude": 0,"ballast":34,"parachute":0}
成一个更小的字符串,例如:
f5fk43d2
. 该过程必须是可逆的,以便数据可以在另一端被解码和读取。这可能吗?如果可以,我将如何去做。
我已经尝试过 jwr: Shortening a string in Java的答案,但它似乎是不可逆的。它确实将大字符串转换为较小的字符串。
该过程产生的字符串必须小于原始字符串。
任何帮助表示赞赏!
我想取一个任意的ASCII文本字符串,比如"Hello world",并将其压缩成一个字符较少的版本(尽可能少),但是它可以解压缩.压缩版本应仅由ascii字符组成.有没有办法实现这一点,尤其是在Ruby中?
我有一个超过800个字符的数据字符串,我正在尝试压缩以用于QR码(我想要至少50%,但如果我把它减少到不到七百,可能会很高兴) .这是我正在尝试压缩的示例字符串,包含841个字符:
+hgoSuJm2ecydQj9mXXzmG6b951L2KIl0k9VGzIEtLztuWO2On9rt7DUlH0lXzG4iJ1yK0fA
97mDyclKSttIZXOxSPBf85LEN4PUUqj65aio5qwZttZSZ64wpnMFg/7Alt1R39IJvTmeYfBm
Tuc1noMMcknlydFocwI8/sk2Sje5MR/nYNX0LPkQhzyi5vFJdrndqAgXYULsYrB3TJDAwvgs
Kw9C5EJnrlqcb21zg17O2gU/C8KY0pz9RPzUl1Sb0rCP8iZCeis4YbQ5tuUppOfnO/X0Mosv
SOQJ/bF9juKW8ocnQvNjsNxGV1gPkWWtiU2Old7Qm7FLDqL6kQKrq356yifs0NiMVGdvAg32
eugewuttCugoZASYOpQdwPu1jMxVO1fzF3zEy5w6tDlcfA2DZwa+un9/k8XZWAO/KVExy68q
UtVRQxsIOKgpl/2tNw5DBAKbykKIkmizbsA2xtzqnYqld4kOdNMJh3YjlqWF9Bt8MZo7a+Q6
jgayr2rjpyIptc599DGtvp68ZNQ64TKNmiMnnyGMo3E+xW34G3RrsYnHGm+xJoLKoOJhacDu
oZke1ycJgQv+Y61WPrvtFOVBxV5rvSzO0+8px5AWN3uCrrw1RmT5N14IVhh6BOtRjsifqIB2
dAKxzBNsvbXm1SzkuyqYiMnp5ivy3m2mPwc9GLsykx0FRIkhCYO8ins9E5ot9QvVnE155MFA
8FVwsP5uNdOF4EzQS2/h2QK3zb5Yq4Nftlo605Dd5vuVN/A7CUN38DaAKBxDKgqDzydfQnZw
R0hTfMHNLgBJKNDSpz2P6almGlUJtXT6IYmzuU2Iaion8ePG
Run Code Online (Sandbox Code Playgroud)
我已经尝试了以下三个库:
我遇到了压缩实际上使字符串更长的问题.我的理解是DeflateStream的开销最小,但它仍在添加字符.使用DotNetZip,我告诉它使用最大压缩:
Imports Ionic.Zlib
Shared Function CompressData(data As Byte()) As Array
Dim msCompressed As MemoryStream = New MemoryStream
' I'm not sure if the last parameter on this next function should be
' true (for LeaveOpen), but it doesn't seem to affect it either way.
Dim deflated As DeflateStream = New DeflateStream(msCompressed, _
CompressionMode.Compress, CompressionLevel.BestCompression, True)
' …
Run Code Online (Sandbox Code Playgroud) 我有超过1亿个唯一字符串(MySQL数据库中的VARCHAR(100)UNIQUE).现在我使用下面的代码从它们创建唯一的哈希值(VARCHAR(32)UNIQUE)以减少InnoDB表的索引大小(varchar(100)上的唯一索引大约是varchar(32)字段的3倍).
id = hashlib.md5(str).hexdigest()
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以从这些字符串创建更短的ID并做出合理的唯一性保证?
假设我们有string name ="stackoverflow.com";
如何将此字符串int转换为唯一ID或某种哈希.(没有md5因为它太大了)它不应该是随机的
我想要有这样的东西
请注意字符串本身太大我想知道字符串是否可以写得更短.字母,数字和符号的组合
f¤k^§〜7天?Æ
python中这个类的等价物是什么?https://gist.github.com/2594962
在PHP中,它允许您压缩字符串.
我试图在以下语言中找到等价物:Python,Ruby on Rails和ASP.
我希望有这些语言的内置函数.我在PHP中找不到一个.
当我说Zip时,我指的是Windows使用的标准算法.不是存档的意思.我目前使用该类来压缩字符串,base64对其进行编码并将其作为请求发送到内部API.
我正在寻找一种算法,将一些字符串压缩到另一个字符串(即没有"\ 0"或特殊控制字符),但我在互联网上找不到任何东西.有这样的算法吗?它不一定特别有效,只需要基本的东西.
compression ×8
java ×3
string ×3
algorithm ×2
encoding ×2
python ×2
.net ×1
c ×1
c# ×1
deflate ×1
hashlib ×1
javascript ×1
md5 ×1
query-string ×1
ruby ×1
short ×1
transmission ×1
vb.net ×1
zlib ×1