c - UTF-16 字符串压缩实现
问题描述
C语言/压缩算法菜鸟在这里,提前道歉。
我正在研究基于 Lempel-Ziv 的 utf-16 字符串压缩算法,如此处所述http://www.unicode.org/notes/tn31/
根据实现(https://www.unicode.org/notes/tn31/#Performance),一个 1014 字节的字符串应该被压缩到大约 560(大约 60%)。
但是我下载了示例 c ( https://www.unicode.org/notes/tn31/utf16_compressor.tar.gz ) 代码并测试了压缩长度为 1290 的字符串(我添加了一个打印语句来打印输入和输出长度)但压缩后的输出长度为3018。是我遗漏了什么还是我误解了输出长度?从代码来看,压缩函数的输出缓冲区是一个无符号字符(1 字节)数组,因此意味着 3018 实际上是 3018 字节?
解决方案
推荐阅读
- machine-learning - 根据过去 3 年的季度客户数量预测未来 4 季度的客户数量
- node.js - 我可以与 PostgreSQL 一起使用的 Knex 数据类型
- android - Flutter 应用程序,每天在 x 时间检查,看看我是否需要向用户发送本地通知
- date - 从字符串中提取日期与 R 中的另一个数字
- javascript - Vue中如何检测组件内的元素是否溢出?
- r - 如何在 R 中绘制知道 X/Y 坐标、半径和连续第三个参数的彩色圆圈
- ios - 无法将 [Type] 类型的值转换为预期的参数类型“某些视图”
- javascript - 如何显示异常响应文本
- r - 绘图条形图R中的颜色
- c# - 从接收到的串行数据返回值到另一个函数