V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lyxvahhitiu
V2EX  ›  算法

如何使 base64 编码后为全部是大写字母?

  •  
  •   lyxvahhitiu · 2018-09-07 09:46:59 +08:00 · 5361 次点击
    这是一个创建于 2268 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原字符串如何适当的变化才能使 base64 编码后全部是大写字母

    14 条回复    2018-09-07 12:18:03 +08:00
    imn1
        1
    imn1  
       2018-09-07 09:58:22 +08:00
    那,还能解码么? base32 ?
    b821025551b
        2
    b821025551b  
       2018-09-07 09:58:59 +08:00
    这个问题放在算法节点真是讽刺
    beastk
        3
    beastk  
       2018-09-07 10:01:45 +08:00 via iPhone
    你是不是应该去看下基础?
    AlphaTr
        4
    AlphaTr  
       2018-09-07 10:07:49 +08:00
    这个需求还是用 base-36 吧
    mcfog
        5
    mcfog  
       2018-09-07 10:09:48 +08:00 via Android   ❤️ 1
    function (input) { return base64_decode('ABC'); }
    chenyu8674
        6
    chenyu8674  
       2018-09-07 10:10:42 +08:00
    toUpperCase [doge]
    laoyur
        7
    laoyur  
       2018-09-07 10:12:31 +08:00
    回复了 xuyun 创建的主题 › 求职 › iOS 形势真有 V 友说的那么严重,两年经验的连看都不看了?请各位最近在招聘 iOS 的 V 友说说感受

    『离职的时候自信满满,特么我太高估我自己了~.~ 心中一万个我要转行飘过~~!~~~~ 我觉得现在投的简历只要一看是三年以下的特么看都不看。。。三年以下已死,亲测!~!~』

    » lyxvahhitiu 创建的更多回复
    qiayue
        8
    qiayue  
       2018-09-07 10:15:09 +08:00
    base64 是一种基于 64 个可打印字符来表示二进制数据的方法
    26 个小写字母
    26 个大写字母
    10 个数字( 0~9 )
    2 个字符(=/)
    qiayue
        9
    qiayue  
       2018-09-07 10:17:05 +08:00
    勘误,2 个字符是+/
    TomasKozey
        10
    TomasKozey  
       2018-09-07 10:35:10 +08:00
    @qiayue 楼主也没说错吧,比如说"11B" 转换之后得到 "MTFC",符合全大写字母。楼主要求的是转换原字符,不是转换后再变成大写
    qiayue
        11
    qiayue  
       2018-09-07 10:40:52 +08:00
    @TomasKozey 仔细想想,如果这是一道面试算法题,还是有点意思的,也难怪会放在算法节点下

    给定一个字符串,比如“ V2EX ”,如何变化使得 base64 编码之后全是大写字母

    我们之前回复的,都是默认理解为,既然原始字符串都变了,那么 base64 编码也就没意义了,因为解码之后已经不是原始字符串了
    0TSH60F7J2rVkg8t
        12
    0TSH60F7J2rVkg8t  
       2018-09-07 10:45:24 +08:00 via iPhone
    必须要 base32 编码
    SilentDepth
        13
    SilentDepth  
       2018-09-07 11:11:37 +08:00
    原文和密文在单个字符上没有直接映射关系,所以感觉楼主的需求无解,或者说条件太苛刻无法实现

    工程角度上讲的话,加密前先「预加密」一下判断结果是否符合条件,不符合的直接返回「无法加密」?(雾
    lolizeppelin
        14
    lolizeppelin  
       2018-09-07 12:18:03 +08:00 via Android
    那还不简单 加一个 bit 长度和加密后编码一样长的数值

    用来表示每一位是大写还是小写 233
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2199 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:55 · PVG 08:55 · LAX 16:55 · JFK 19:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.