You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求实现5位二进制字符串转字符的解码函数(Swift/JavaScript)

Hey there! Let's work through this reverse decoding function together. Your existing code maps each entry in alphabeth_array to a 5-bit binary string using the array index's 5-bit binary representation. To reverse this, we just need to convert the 5-bit binary string back to that index, then grab the corresponding character from the array.

Swift 解码实现

First, we'll reuse your original alphabeth_array as our reference mapping. The core idea is to convert the input binary string to its decimal equivalent (which matches the array index), then return the character at that position. We'll add a quick input validation check to avoid errors from invalid binary strings.

// Reuse your original alphabet array
let alphabeth_array = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "", "", "", "", "", ""]

let binary = "00000" // Example input
let character = getChar(binaryCode: binary)

func getChar(binaryCode: String) -> String {
    // Validate input is a 5-bit binary string
    guard binaryCode.count == 5, binaryCode.allSatisfy({ $0 == "0" || $0 == "1" }) else {
        return "" // Adjust fallback behavior if needed
    }
    
    // Convert binary string to decimal index
    if let index = Int(binaryCode, radix: 2), index < alphabeth_array.count {
        return alphabeth_array[index]
    }
    
    return "" // Fallback for out-of-bounds index
}

// Test the function
print(character) // Outputs "a"
print(getChar(binaryCode: "11000")) // Outputs "y"
JavaScript 解码实现

The same logic applies here: convert the 5-bit binary string to a decimal index, then pull the matching character from your original array. We'll include input validation to handle edge cases gracefully.

// Reuse your original alphabet array
var alphabeth_array = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "", "", "", "", "", ""]

var binary = "00000" // Example input
var character = getChar(binary)

function getChar(binary) {
    // Validate input is a 5-bit binary string
    if (binary.length !== 5 || !/^[01]+$/.test(binary)) {
        return ""; // Adjust fallback behavior if needed
    }
    
    // Convert binary string to decimal index
    const index = parseInt(binary, 2);
    if (index >= 0 && index < alphabeth_array.length) {
        return alphabeth_array[index];
    }
    
    return ""; // Fallback for out-of-bounds index
}

// Test the function
console.log(character); // Logs "a"
console.log(getChar("11000")); // Logs "y"

内容的提问来源于stack exchange,提问作者Jonas0000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:38:28