恩code和德code在c#asp.net? [英] Encode and Decode in c# asp.net?

查看:113
本文介绍了恩code和德code在c#asp.net?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的编码和解码:

有关编码:

private string EncodeServerName(string ServerName)
    {
      byte[] NameEncodein = new byte[ServerName.Length];
      NameEncodein = System.Text.Encoding.UTF8.GetBytes(ServerName);
      string EcodedName = Convert.ToBase64String(NameEncodein);
      return EcodedName;
    }

和解码:

     public string DecoAndGetServerName(string Servername)
     {
         System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
         System.Text.Decoder strDecoder = encoder.GetDecoder();
         byte[] to_DecodeByte = Convert.FromBase64String(Servername);
         int charCount = strDecoder.GetCharCount(to_DecodeByte, 0, to_DecodeByte.Length);
         char[] decoded_char = new char[charCount];
         strDecoder.GetChars(to_DecodeByte, 0, to_DecodeByte.Length, decoded_char,0);
         string Name = new string(decoded_char);

         return Name;
     }

我送服务器名称: DEV-SQL1 \\ SQL2008

有带codeD: REVWLVNRTDFcU1FMMjAwOA ==

我想再次脱code,但越来越例外:行:

Again i want to decode but getting Exception:in line:

字节[] to_De codeByte = Convert.FromBase64String(服务器名);

例外是:

`的输入不是有效的Base-64串,因为它含有非基本64字符,

`The input is not a valid Base-64 string as it contains a non-base 64 character,

两个以上的填充字符或填充characters.`之间的非空白字符

more than two padding characters, or a non-white space character among the padding characters.`

如何解决这个问题。

请帮我

推荐答案

您code似乎太复杂:-),这里是一个工程:

Your code seems way too complex :-), here is one that works:

public static string EncodeServerName(string serverName)
{
    return Convert.ToBase64String(Encoding.UTF8.GetBytes(serverName));
}

public static string DecodeServerName(string encodedServername)
{
    return Encoding.UTF8.GetString(Convert.FromBase64String(encodedServername));
}

这篇关于恩code和德code在c#asp.net?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆