是否可以压缩URL?

时间:2019-04-19 22:45:50

标签: ios wkwebview

是否可以压缩随机URL

https://a.scdn.gr/images/sku_main_images/014650/14650949/20180416114151_amd_ryzen_5_2600.jpeg

变成更小的文本?

ta7f^*(GD&FY6FTGsdfsfYHU(*

如果您必须处理数百万个共享某些部分的URL,您将如何压缩它们?

https://a.scdn.gr/images/sku_main_images/014650/14650949/20180416114151_amd_ryzen_5_2600.jpeg
https://a.scdn.gr/images/sku_main_images/014650/14650949/20180416114151_amd_ryzen_5_2700.jpeg
https://a.scdn.gr/images/sku_main_images/014650/14650949/20180416114151_amd_ryzen_5_2700x.jpeg
...

我的方式是:

  1. 使基数为256。

Base-10最多可以用4位数字计数9999。

1个字节可以表示256个符号

Base-256最多可以用4位数字计数4,294,967,296。

  1. 将每个URL分成多个部分,并使用base-256对其进行索引。

例如,“ http:// ”位于数字 0 ,“ a.scdn.gr ”位于数字 56762835 ,在base-256中表示为%&r

  1. 将每个URL保存为一系列索引。

例如,

https://a.scdn.gr/images/sku_main_images/014650/14650949/20180416114151_amd_ryzen_5_2700.jpeg

转换为7部分:

0/&^T/&^Y/&^e/*JE/(E*U/*EHG

我将需要分别提取7个部分,但是我不在乎,因为我一次将对几个URL进行关键处理,问题是存储它们。

我将保存一百万次文本“ &^ T / ”,并保存一次文本“ index:&^ T,content:a.scdn.gr / ”,而不是保存一百万次文本“ a.scdn.gr /

〜50%压缩。

示例

1个字节 8位 256个符号

以10为基数:1943 = 0x10 ^ 4 + 1x10 ^ 3 + 9x10 ^ 2 + 4x10 ^ 1 + 3x10 ^ 0 =“ 1”,“ 9”,“ 4”,“ 3”

base-256:1943 = 0x256 ^ 3 + 0x256 ^ 3 + 0x256 ^ 2 + 7x256 ^ 1 + 151x256 ^ 0 =“ $”,“ *”($ = 7,* = 151)

0 个答案:

没有答案