javascript - 将字符串编码为十进制数字 - javascript

标签 javascript encoding

有没有办法将常规 javascript utf-8 字符串编码为十进制 0-9(或者八进制 0-7,如果更方便的话)(八进制或 base10)?

我看到了这个 php 线程,我想要类似的 javascript 线程。

Encoding byte data into digits

最佳答案

不确定您为什么要这样做,但根据您的需要,这很简单。 JavaScript 的 String.prototype.charCodeAt() 返回字符串中字符的 Unicode 数字值,最多可达 65,536 (假设您没有使用 > 0x10000 的 unicode 代码点;如果是,则为 consult the String.prototype.charCodeAt documentation ) .

您可能使用的是 ASCII,这意味着您的数字字符代码最多为 255,这意味着您可以使用三位数字。所以首先我们需要一个函数来填充零:

function zeroPad(n, w){
    while(n.toString().length<w) n = '0' + n;
    return n;
}

然后我们可以创建一个函数将字符串转换为数字字符串:

function toNumbers(s){
    var nums = '';
    for(var i=0; i<s.length; i++) {
        nums += zeroPad(s.charCodeAt(i), 3);
    }
    return nums;
}

然后是一个解码函数:

function fromNumbers(nums){
    var s = '';
    for(var i=0; i<nums.length; i+=3){
        console.log(i + ': ' + nums.substring(i, i+3))
        s += String.fromCharCode(nums.substring(i, i+3));
    }
    return s;
}

关于javascript - 将字符串编码为十进制数字 - javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21613942/

相关文章:

Perl 下拉菜单和 Unicode

mysql - Django 字符集和编码

javascript - import ES6 两边的括号

javascript - 适用于 console.log() 但不适用于 chrome 浏览器的换行符

javascript - 模态窗口中的 JQuery 日期选择器问题

javascript - 在 iframe 中嵌入 HTTPS 站点

python - 如何在Python中创建标签(自动编码)

javascript - 如何在 $.Deferred.then failedFilter 回调中执行异步操作并传回成功链?

encoding - 检测错误的 UTF-8 编码 : list of bad characters to sniff?

python - python/nautilus 脚本组合的奇怪字符编码问题