V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
heavyrainn
V2EX  ›  程序员

请问 Java 中的 hexDigits[(bt & 0xf0) >> 4]转换成 kotlin 要如何写呢?

  •  
  •   heavyrainn · 2021-12-10 15:59:37 +08:00 · 1682 次点击
    这是一个创建于 1109 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问 java 中的 hexDigits[(bt & 0xf0) >> 4]转换成 kotlin 要如何写呢? 其中 bt 是传入的一个 bytes[],hexDigits 是一个 char[],谢谢大家

    12 条回复    2021-12-16 15:05:48 +08:00
    Leviathann
        1
    Leviathann  
       2021-12-10 16:07:10 +08:00   ❤️ 1
    java 里
    bytes 是什么
    数组怎么能 & 的
    Leviathann
        2
    Leviathann  
       2021-12-10 16:09:13 +08:00
    kotlin 里右移是中缀 shr
    hizhengfu
        3
    hizhengfu  
       2021-12-10 16:09:21 +08:00
    idea 有自动转换的,可以 java 写下,然后贴到 kt 文件里面,搞几次就清楚怎么写了。
    heavyrainn
        4
    heavyrainn  
    OP
       2021-12-10 16:14:42 +08:00
    @Leviathann 抱歉写错了,bt 是个 byte
    heavyrainn
        5
    heavyrainn  
    OP
       2021-12-10 16:15:27 +08:00
    @hizhengfu 自动转换出来的结果不对呀…
    heavyrainn
        6
    heavyrainn  
    OP
       2021-12-10 16:16:38 +08:00
    @hizhengfu idea 自动转化拿出来是 hexDigits[bt and 0xf0 shr 4],但是他自己都提示语法错误 o(╥﹏╥)o
    Leviathann
        7
    Leviathann  
       2021-12-10 16:24:27 +08:00 via iPhone
    16 进制后面 tobyte
    and 完整体 toint 在右移
    Leviathann
        8
    Leviathann  
       2021-12-10 16:25:15 +08:00 via iPhone
    或者 bt 直接 toint 就行
    mxalbert1996
        9
    mxalbert1996  
       2021-12-10 17:58:28 +08:00 via Android   ❤️ 1
    hexDigits[bt.toInt().and(0xf0).ushr(4)]
    注意 ushr 和 shr 的区别,这里很容易错
    mxalbert1996
        10
    mxalbert1996  
       2021-12-10 18:01:05 +08:00 via Android
    哦不过你这里应该没区别就是了
    somebody
        11
    somebody  
       2021-12-11 01:42:32 +08:00   ❤️ 1
    fun test(hexDigits: CharArray, bt: Byte) {
    val index = (bt.toInt() and 0xF0) shr 4
    hexDigits[index]
    }
    heavyrainn
        12
    heavyrainn  
    OP
       2021-12-16 15:05:48 +08:00
    好用了,感谢给给予帮助的人
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1325 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:34 · PVG 01:34 · LAX 09:34 · JFK 12:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.