gpt4 book ai didi

Javascript 将字符串转化为kb格式

转载 作者:行者123 更新时间:2023-11-30 09:08:27 24 4
gpt4 key购买 nike

我是 javascript 的新手,我只是想将字符串转换为像我这样的人可以阅读的格式。这是我正在尝试做的一个例子......

string2size(字符串){//一些很棒的编码我不知道如何制作返回 awesomeAnswer

现在返回值应该给我 56 字节或 12kb 或 1mb,具体取决于字符串的大小。

所以如果字符串是...string = "有一个老太婆住在一只鞋里";那么 string2size(string) 应该返回类似 3kb 的内容。

现在我知道有一个 utf8 讨论,我不会反对将它添加到函数中。

我已经尝试过谷歌和雅虎搜索,但他们谈论使用 php,但我真的需要它用于 javascript。我非常感谢任何人的时间。-泰斯克

最佳答案

首先列出您要使用的单位。例如:

// 1024-based units. Kibibyte, Mebibyte etc.
//
var BINARY_UNITS= [1024, 'Ki', 'Mi', 'Gi', 'Ti', 'Pi', 'Ei', 'Zi', 'Yo'];

// SI units, also Hard Disc Manufacturers' rip-off kilobytes
//
var SI_UNITS= [1000, 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'];

然后创建一个函数来查找并除以一个数字的最大合适单位:

function unitify(n, units) {
for (var i= units.length; i-->1;) {
var unit= Math.pow(units[0], i);
if (n>=unit)
return Math.floor(n/unit)+units[i];
}
return n; // no prefix, single units
}

然后调用长度:

var desc= 'File, '+unitify(content.length, UNITS_BINARY)+'B';
desc+= ' or in SI, '+unitify(content.length, UNITS_SI)+'B';

// eg. File, 977KiB or in SI 1MB

我不确定你对 UTF-8 的意思,但如果你想找出编码为字节的字符串的长度,你必须自己将该字符串编码为 UTF-8。幸运的是,有一个廉价的技巧可以在 JavaScript 中获得 UTF-8 编码器:

var bytes= unescape(encodeURIComponent(chars));
alert(unitify(bytes, BINARY_UNITS)+'B');

关于Javascript 将字符串转化为kb格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2792327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com