V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
exciting
V2EX  ›  问与答

手机号怎么压缩最有效率?

  •  
  •   exciting · 2020-11-20 16:17:05 +08:00 · 2025 次点击
    这是一个创建于 1252 天前的主题,其中的信息可能已经有所发展或是发生改变。

    要存在 redis 中,谢谢各位大佬~

    14 条回复    2020-11-20 18:33:50 +08:00
    jim9606
        1
    jim9606  
       2020-11-20 16:21:27 +08:00   ❤️ 1
    存成一个 64 位整数。
    极限可以用 34 位整数,不过我觉得没必要。
    zooo
        2
    zooo  
       2020-11-20 16:31:04 +08:00
    哈夫曼编码?
    wysnylc
        3
    wysnylc  
       2020-11-20 16:32:46 +08:00
    数字压缩???????
    imn1
        4
    imn1  
       2020-11-20 16:41:50 +08:00
    头三位没几个,5bit 都够用了,后面的也是按 bit,但这样压实用麻烦啊,业务逻辑弱
    Maboroshii
        5
    Maboroshii  
       2020-11-20 16:44:00 +08:00
    没必要吧,可以根据需求预估一下占用内存大小
    xiangyuecn
        6
    xiangyuecn  
       2020-11-20 16:51:06 +08:00
    19999999999 -> 96rherj

    36 进制,只需 7 字节 比 long 省 1 个字节😂
    codyfeng
        7
    codyfeng  
       2020-11-20 17:07:46 +08:00 via Android
    存一个 int64 不能支持其他国家的号码。
    66450146
        8
    66450146  
       2020-11-20 17:49:24 +08:00
    不要考虑空间效率了,安心存字符串吧,存成整数容易遇到业务上的问题……
    exciting
        9
    exciting  
    OP
       2020-11-20 18:11:36 +08:00
    最后选用 64 位了
    CEBBCAT
        10
    CEBBCAT  
       2020-11-20 18:17:07 +08:00
    @zooo #2 哈夫曼是一种取编码的方式,如给 A B C 三个字母取二进制代号,和这个问题没有关系哦
    zooo
        11
    zooo  
       2020-11-20 18:23:23 +08:00
    @CEBBCAT 噢噢 这样呀
    shenqi
        12
    shenqi  
       2020-11-20 18:25:59 +08:00
    0-9a-zA-Z, 这里面已经能达到 52 个字符,简单点弄个 52 进制,

    难的,把所有的单字符都用上,例如标点符号各种,一个字符进制加 1,如果你又 19999999999 个字符,那这个你就能到长度 1 了。
    (这个映射长度也 19999999999,有点。。。)
    CEBBCAT
        13
    CEBBCAT  
       2020-11-20 18:31:42 +08:00 via Android
    几亿用户啊这是
    sujin190
        14
    sujin190  
       2020-11-20 18:33:50 +08:00
    8 字节可以满保存 19 个数字了吧,就算给国家三位代码也戳戳有余了吧,有哪个国家的电话号码有 16 位那么长的么?这么长似乎也记不住的吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1136 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:48 · PVG 02:48 · LAX 11:48 · JFK 14:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.