相关疑难解决方法(0)

如何在不手动指定编码的情况下在C#中获得字符串的一致字节表示?

我如何转换stringbyte[]在.NET(C#),而无需手动指定一个特定的编码?

我要加密字符串.我可以在不转换的情况下加密它,但我仍然想知道为什么编码在这里发挥作用.

另外,为什么要考虑编码?我不能简单地得到字符串存储的字节数吗?为什么依赖于字符编码?

.net c# string character-encoding

2121
推荐指数
22
解决办法
114万
查看次数

在Asp.net中将字节数组转换为字符串

在Page1.aspx中,我有

byte[] byt = System.Text.Encoding.UTF8.GetBytes(TextBox1.Text);
Response.Redirect("Page2.aspx?BytArray=" + byt,false);
Run Code Online (Sandbox Code Playgroud)

TextBox1的值是"mnop".

现在在Page2.aspx我有以下代码

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {           
        var byteArray = System.Text.Encoding.UTF8.GetBytes(Request.QueryString["BytArray"]);

        var x1 = System.Convert.ToBase64String(byteArray, 0, byteArray.Length);

        var x2 = Encoding.UTF8.GetString(byteArray);
    }
}
Run Code Online (Sandbox Code Playgroud)
  • x1输出是U3lzdGVtLkJ5dGVbXQ ==

  • x2输出是System.Byte []

但是如何让"mnop"回归?我错过了什么?

甚至C#:我如何安全地将字节数组转换为字符串并返回?给出了答案为U3lzdGVtLkJ5dGVbXQ ==

谢谢.

asp.net c#-4.0

8
推荐指数
1
解决办法
2万
查看次数

在C#中将字节数组转换为字符串

是否有一种简单的方法将字节数组转换为字符串,以便下面的单元测试通过?我找不到适用于所有值的编码.

  [TestMethod]
  public void TestBytToString()
  {
     byte[] bytArray = new byte[256];
     for (int i = 0; i < bytArray.Length; i++)
     {
        bytArray[i] = (byte)i;
     }
     string x = System.Text.Encoding.Default.GetString(bytArray);
     for (int i = 0; i < x.Length; i++)
     {
        int y = (int)x[i];
        Assert.AreEqual(i, y);
     }
  }
Run Code Online (Sandbox Code Playgroud)

c# string byte

6
推荐指数
1
解决办法
2325
查看次数

标签 统计

c# ×2

string ×2

.net ×1

asp.net ×1

byte ×1

c#-4.0 ×1

character-encoding ×1