这个算法/​​例程的名称是什么?

2023-12-24

我正在编写一个实用程序类,它将字符串从一种字母表转换为另一种字母表,这在您希望使用目标字母表且限制可用字符数的情况下非常有用。例如,如果您可以使用小写字母和数字,但只能使用 12 个字符,则可以压缩字母表中的时间戳01234567989 -: into abcdefghijklmnopqrstuvwxyz01234567989 so 2010-10-29 13:14:00可能会成为5hhyo9v8mk6avy(19 个字符减少到 16 个)。

该类旨在在字母表之间来回转换,并计算可以安全地存储在给定特定字符数的目标字母表中的最长源字符串。

正在考虑通过 Google 代码发布它,但是我显然希望其他人找到它并使用它 - 因此问题是它叫什么。当您需要生成一定长度的唯一文件名,但想要保留一些纯文本时,我不得不在两个独立的项目(使用 Bloomberg 和专有系统)中使用这种方法,因此 GUID 不合适。


你的例子与字典编码器 http://en.wikipedia.org/wiki/Dictionary_coder具有固定的目标和源词典。另外值得一看的是斐波那契编码 http://en.wikipedia.org/wiki/Fibonacci_coding,它有一个固定的目标字典(可变长度位),其目标是可变的。

我认为这还取决于您的目标字母表具有固定宽度条目是否非常重要 - 如果您允许具有可变长度代码的固定字母表,您的压缩比将更接近您的熵!如果预先知道源字母分布,则静态哈夫曼树 http://en.wikipedia.org/wiki/Huffman_coding可以很容易地生成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

这个算法/​​例程的名称是什么? 的相关文章

随机推荐

  • 当仅需要接触检测时,我可以使用 SKAction 移动动态物理体吗?

    我正在查看教程 其中的内容定义如下 飞机是具有动态物理体的精灵 平面移动是通过遵循路径的动作来完成的 子弹与飞机接触检测 子弹是精灵 它的物理主体设置为静态 在我看来这没什么不寻常的 这是链接tutorial http code tutsp
  • NTLM 对 Savon 的支持

    我正在使用 Savon 通过 Web 服务与 SharePoint 进行通信 如果 SharePoint Web 应用程序支持基本身份验证 则一切正常 但如果我将其更改为 NTLM 则会失败 它在线失败 newclient http aut
  • 如何在 alpine 中使用最新版本的 chromium 驱动程序

    我们使用 Alpine 作为运行 watir 测试的 docker 容器 我想使用较新的版本 例如 chromium75 0 3770 8 和 chromium chromedriver75 0 3770 8 但 Alpine 最新版本是
  • 从 Silverlight 调用 Javascript 函数

    我正在尝试从 silverlight 控件调用 javascript 函数 在我们的代码中 我试图通过以下方式调用该函数 HtmlPage Window Invoke showPopup new string http www exampl
  • 如何按日期对 SVN LS -R 输出进行排序

    我想列出 svn 中的所有文件 按上次提交日期排序 svn ls Rv列出所有文件 但不接受 t转变 有谁知道如何做到这一点 我看过一个答案类似的问题 https stackoverflow com questions 22235391 s
  • 如何对管道中的布尔值取反?

    考虑以下代码 defmodule T do def does not contain s t do s gt not String contains t end end 这会在编译时出现以下错误 CompileError iex 3 und
  • 屏幕关闭/锁定后手机振动停止工作

    我有一项服务可以检查我的网站上的更新 我希望它能够在发现更新时引起振动 即使屏幕关闭或锁定也是如此 目前 振动仅在屏幕未关闭 锁定时起作用 即使屏幕关闭 锁定 所有其他功能也可以工作 Vibrator vibrator Vibrator g
  • 如何在 perl 中将字符串转换为文件句柄?

    我有一根非常大的绳子 s dfasdfasdfafd 近百万字 我想将其转换为文件句柄 使其看起来像是从文件中读取的字符串 但我不想将其存储到临时文件中并读取它 有人可以给我一些建议吗 打开对字符串的引用 use strict use wa
  • 我可以在 HTML 文件正文中放置 标记以通过电子邮件发送吗?

    由于许多电子邮件客户端忽略 HEAD 标签 我可以在正文中嵌入内联样式表吗 最简洁的答案是不 Gmail 会删除标签及其内容 Hotmail 雅虎 邮件和 Windows Live Mail 不会删除正文元素中的样式标签 但看看适用于 HT
  • 使用 ptrace 提取系统调用名称和参数

    我正在做一项必须执行的任务strace喜欢使用功能ptrace 到目前为止 我已经找到了如何提取系统调用号和返回值 如下所示 In parent process struct user regs struct regs ptrace PTR
  • Python:编译源代码中的导入错误

    我在运行编译的源代码时遇到问题 代码本身是正确的 如果我运行python file py一切顺利 如果我用 pyinstaller 或类似的软件编译它 然后运行它说的编译文件ImportError No module named cffi
  • 撤消从错误的 github 存储库中拉取的操作

    我刚刚从 github 拉取 然后从错误的 github 存储库拉取到我的项目中 我该如何撤消这个操作 Thanks git reset hard HEAD 此命令将您的分支重置为上一个提交 即合并提交之前的提交 这是您要撤消的提交 您的工
  • 作为 std::initializer_list 对象的抽象类

    为了有更清晰的语法 我想使用std 初始化列表将对象列表发送到构造函数 然而 这些对象是抽象的 这会导致一个问题 在 VS 2013 中 它丢失了 vfptr 引用 给出了 R6025 纯虚函数调用 运行时错误 在 g 中它抱怨它 无法分配
  • WordPress 多语言插件 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我在 WordPress 上有一个博客 需要在其中提供多种不同语言的内容 我不想翻译这些文章 我只想每
  • PyTorch Lightning:同一 Tensorboard 图中的多个标量(例如训练和有效损失)

    使用 PyTorch Tensorboard 我可以在单个 Tensorboard 图中记录我的训练和有效损失 如下所示 writer torch utils tensorboard SummaryWriter for i in range
  • CDK 将映射模板添加到 LambdaIntegration

    我有一个 Lambda 函数 可以通过 api 网关访问 如何让 CDK 添加映射模板 如下屏幕截图所示 我尝试了多种变体 const restApi new apigateway LambdaRestApi this dyndns api
  • JPanel 对 KeyBindings 没有反应

    我正在开发一个需要 JPanel 对按下的转义键做出反应的应用程序 我很确定我使用了正确的方法将键绑定注册到组件 但显然我仍然做错了一些事情 这是负责注册对上述键绑定做出反应的代码 private void initializeKeyBin
  • 如何更改javafx中任务栏上的默认java徽标exe图标?

    我在 Netbeans 上制作了一个 JavaFX 应用程序 并放置了用于将图标设置到窗口的代码 primaryStage getIcons add new Image file sicadcam png 当我从 Netbeans 运行该项
  • 使用 Google 图表动态数据

    我需要使用动态数据绘制我的 Google 图表 因此我将其存储在变量中 var rowData v Mike f Mike The President v Jim f Jim Vice President Mike VP Alice Mik
  • 这个算法/​​例程的名称是什么?

    我正在编写一个实用程序类 它将字符串从一种字母表转换为另一种字母表 这在您希望使用目标字母表且限制可用字符数的情况下非常有用 例如 如果您可以使用小写字母和数字 但只能使用 12 个字符 则可以压缩字母表中的时间戳01234567989 i