如何最好地计算TextArea中的文本字节数

时间:2010-08-29 23:20:48

标签: javascript asp.net html textarea

我需要找到一种方法来准确计算特定文本区域内文本的字节大小。我在.Net工作,所以我可以访问这些库,但我更喜欢Javascript解决方案。每个字符值多少字节?什么是最有效的计数和倍增方式?或者我完全错过了一个更好的方法?

编辑:我正在尝试确定已粘贴到textarea中的一段Javascript的下载大小。我能找到的最接近的是http://bytesizematters.com/。我不想只是解除他们的代码,特别是因为我不完全理解它。

1 个答案:

答案 0 :(得分:1)

我认为你的答案就在这里

Calculate.aspx:

<body>
    <form id="form1" runat="server">
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
    </form>
</body>

然后双击设计视图上的按钮以在代码隐藏文件(Calculate.aspx.cs)中定义事件处理程序,然后将以下代码添加到方法

    protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = StrToByt(TextBox1.Text).Length.ToString();
    } 

最后你必须在同一个文件中定义你刚才叫做“StrToByt”的神秘方法定义这个方法,它将字符串str作为参数并通过“System.Text.UTF8Encoding”对象设置它的编码然后将输出作为字符串返回,我们将通过Length属性

进行计数
        public static byte[] StrToByt(string str)
    {
        System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
        return encoding.GetBytes(str);
    }
PS:我研究了一下,发现常见的编码是UTF-8,但如果你不这么认为你可以编辑编码对象而不是“System.Text.UTF8Encoding”,你可以输入“System.Text”。 “你会在文本名称空间中找到所有可用的编码类型

如果你仍然感到困惑,我可以发布完整的代码,希望它有所帮助! =)