相关疑难解决方法(0)

Twitter图像编码挑战

如果一张图片价值1000字,你可以在140个字符中放入多少图片?

注意:那就是大家!赏金的最后期限就在这里,经过一番艰难的考虑后,我认为Boojum的进入只是勉强淘汰Sam Hocevar的.一旦我有机会写出来,我会发布更详细的笔记.当然,每个人都应该随时继续提交解决方案并改进人们投票的解决方案.感谢所有提交和参赛的人; 我很喜欢他们.这对我来说非常有趣,我希望这对参赛者和观众来说都很有趣.

我遇到了一篇关于尝试将图像压缩成Twitter评论的有趣帖子,该线程中的很多人(以及Reddit上的一个帖子)都提出了有关不同方法的建议.所以,我认为这将是一个很好的编码挑战; 让人们将钱放在嘴边,并展示他们对编码的看法如何在有限的空间中提供更多细节.

我挑战你想出一个通用系统,用于将图像编码成140个字符的Twitter消息,并将它们再次解码为图像.您可以使用Unicode字符,因此每个字符的字符数超过8位.但是,即使允许使用Unicode字符,也需要将图像压缩到非常小的空间内; 这肯定会是一种有损压缩,因此必须对每种结果的好看进行主观判断.

以下是原作者Quasimondo从他的编码中获得的结果(图片根据知识共享署名 - 非商业许可证授权): 蒙娜丽莎

你能做得更好吗?

规则

  1. 您的程序必须有两种模式:编码解码.
  2. 编码:
    1. 您的程序必须以您选择的任何合理光栅图形格式输入图形作为输入.我们会说ImageMagick支持的任何栅格格式都算合理.
    2. 您的程序必须输出一条消息,该消息可以用140个或更少的Unicode代码点表示; 在范围140个的代码点U+0000- U+10FFFF,排除非字符(U+FFFE,U+FFFF,U+ÑFFFE,U+ÑFFFF其中Ñ1- 10十六进制和范围U+FDD0- U+FDEF)和替代代码点(U+D800- U+DFFF).它可以以您选择的任何合理编码输出; GNUiconv支持的任何编码都被认为是合理的,您的平台本机编码或区域编码可能是一个不错的选择.有关详细信息,请参阅下面的Unicode注释
  3. 解码: …

compression unicode twitter

597
推荐指数
14
解决办法
9万
查看次数

一种有效的短文本字符串压缩算法

我正在寻找压缩小文本字符串的算法:50-1000字节(即URL).哪种算法最适合这个?

compression algorithm

120
推荐指数
6
解决办法
11万
查看次数

在压缩和加密时,我应先压缩,还是先加密?

如果我对AES加密文件,然后对其进行ZLIB压缩,那么压缩效率是否会低于我先压缩然后加密的效率?

换句话说,我应该先压缩还是首先加密,还是重要?

compression encryption performance zlib aes

56
推荐指数
4
解决办法
3万
查看次数

24
推荐指数
3
解决办法
2万
查看次数

真正简单的短串压缩

是否有一个非常简单的压缩技术,用于长度不超过255个字符的字符串(是的,我正在压缩URL)?

我并不关心压缩的强度 - 我正在寻找一些性能非常好且能够快速实现的东西.我想要一些比SharpZipLib更简单的东西:可以用几个简短的方法实现的东西.

c# compression string short

22
推荐指数
2
解决办法
3万
查看次数

在C中压缩ASCII字符串

我有一些C代码在内存中存储ASCII字符串作为四字节长度后跟字符串.字符串长度在10-250字节范围内.

为了减少占用,我想在运行中单独压缩每个字符串,仍然存储(压缩字符串的)长度,然后是压缩字符串.

我不想在比单个字符串更大的范围内压缩,因为任何字符串都可以随时读/写.

有哪些库/算法可用于此目的?

谢谢你的帮助.NickB

c compression

11
推荐指数
2
解决办法
1万
查看次数

Twitter文本压缩挑战

规则

  1. 您的程序必须有两种模式:编码解码.
  2. 编码:

    1. 您的程序必须将一些人类可读的Latin1文本作为输入,大概是英语.
      • 忽略标点符号无关紧要.
      • 你只需要担心实际的英语单词,而不是L337.
      • 任何带重音的字母都可以转换为简单的ASCII.
      • 您可以选择如何处理数字.
      • 123
        • 一二三
        • 一百二十三
        • 123
        • 1 2 3
      • 一百二十三
        • 一二三
        • 一百二十三
        • 123
        • 1 2 3
    2. 您的程序必须输出可以表示的消息

      • 范围内的140个代码点U+0000-U+10FFFF

        排除非字符:

        • U+FFFE
        • U+FFFF
        • U+nFFFE,这里是- 十六进制U+nFFFFn110
        • U+FDD0- U+FDEF
        • U+D800- U+DFFF(代理代码点).

    它可以以您选择的任何合理编码输出; GNUiconv支持的任何编码都被认为是合理的,您的平台本机编码或区域编码可能是一个不错的选择.

  3. 解码:

    1. 您的程序应该将编码模式的输出作为输入.
    2. 文本输出应该是输入文本的近似值.
      • 你越接近原始文本越好.
      • 不需要任何标点符号.
    3. 输出文本应该是人类可读的,也可能是英语.

      • 可以是L337,或者lol.
    4. 除了上面指定的输出之外,解码过程可能无法访问编码过程的任何其他输出; 也就是说,您无法在某处上传文本并输出用于下载的解码过程的URL,或者类似的任何内容.
  4. 为了用户界面的一致性,您的程序必须按如下方式运行:
    1. 您的程序必须是可以在具有相应解释器的平台上设置为可执行的脚本,或者可以编译为可执行文件的程序.
    2. 您的程序必须作为其第一个参数encodedecode设置模式. …

compression unicode twitter code-golf

7
推荐指数
1
解决办法
2185
查看次数

标签 统计

compression ×7

encryption ×2

twitter ×2

unicode ×2

aes ×1

algorithm ×1

c ×1

c# ×1

code-golf ×1

performance ×1

short ×1

string ×1

zlib ×1