webform1.aspx<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="work077.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Base64编码转换的示例</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table border="0">
<tr>
<td colspan="2" style="text-align:center">Base64编码转换的示例</td>
</tr>
<tr>
<td>
<asp:TextBox ID="txtBase64" runat="server" Rows="6" TextMode="MultiLine"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="txtUTF8" runat="server" Rows="6" TextMode="MultiLine"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Button ID="Button1" runat="server" Text="转换成Base64编码" />
</td>
<td>
<asp:Button ID="Button2" runat="server" Text="转换成UTF8编码" />
</td>
</tr>
</table>
</div>
</form>
</body>
</html> webform1.aspx.csusing System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace work077
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 转换成Base64编码
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
string text = txtBase64.Text;
txtBase64.Text = Base64Provider.EncodeBase64String(text);
txtUTF8.Text = Base64Provider.EncodeBase64String(text);
}
/// <summary>
/// 转换成UTF8编码
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button2_Click(object sender, EventArgs e)
{
string text = txtUTF8.Text;
txtUTF8.Text = Base64Provider.DecodeBase64String(text);
}
}
} base64provider.csusing System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace work077
{
/// <summary>
/// 实现Base64编码与其他编码转换的类
/// </summary>
public class Base64Provider
{
private Base64Provider()
{
}
/// <summary>
/// 将其他编码的字符串转换成Base64编码的字符串
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static string EncodeBase64String(string source)
{
if (string.IsNullOrEmpty(source))
{
throw new ArgumentNullException("source", "不能为空");
}
else
{
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(source);
string result = Convert.ToBase64String(buffer);
return result;
}
}
/// <summary>
/// 将Base64编码的字符串转换成其他编码的字符串
/// </summary>
/// <param name="result"></param>
/// <returns></returns>
public static string DecodeBase64String(string result)
{
if (string.IsNullOrEmpty(result))
{
throw new ArgumentNullException("result", "不能为空");
}
else
{
byte[] buffer = Convert.FromBase64String(result);
string source = System.Text.Encoding.UTF8.GetString(buffer);
return source;
}
}
}
}
|