zoukankan      html  css  js  c++  java
  • 问题解答集

    目录

    问题解答集目录    1

    目录    2

    修订历史纪录    3

    1 什么是Base64编码规则?    4

    1.1 编码规则    4

    1.2 解码规则    4

    1.3 dot Net下采用Base64编码的一个封装好的类库    5

    2 怎样抛出异常?    5

    3 怎样在Web.config中存储自定义的数据,以及怎样使用C#语言读取这些数据?    5

    3.1 在Web.config中存储信息    5

    3.2 使用C#语言读取这些数据    6

    4 如何使用Cookie?    6

    4.1 创建和读取会话cookie    6

    4.2 创建和读取持久性cookie    6

    5 Machine.config、Web.config、子Web.config的覆盖关系是怎样的?    7

    6 怎样获得主机IP地址?    7

     

    1 什么是Base64编码规则?

    1.1 编码规则

    Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码。它将需要编码的数据拆分成字节数组。以3个字节为一组。按顺序排列24位数据,再把这24位数据分成4组,即每组6位。再在每组的的最高位前补两个0凑足一个字节。这样就把一个3字节为一组的数据重新编码成了4个字节。当所要编码的数据的字节数不是3的整倍数,也就是说在分组时最后一组不够3个字节。这时在最后一组填充1到2个0字节。并在最后编码完成后在结尾添加1到2个"="。

    例:将对ABC进行BASE64编码

    首先取ABC对应的ASCII码值。A(65)B(66)C(67)。

    再取二进制值A(01000001)B(01000010)C(01000011),然后把这三个字节的二进制码接起来(010000010100001001000011),再以6位为单位分成4个数据块并在最高位填充两个0后形成4个字节的编码后的值(00010000)(00010100)(00001001)(00000011)。蓝色部分为真实数据。再把这四个字节数据转化成10进制数得(16)(20)(19)(3)。最后根据BASE64给出的64个基本字符表,查出对应的ASCII码字符(Q)(U)(J)(D)。这里的值实际就是数据在字符表中的索引。

    注BASE64字符表:

    ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

    1.2 解码规则

    解码过程就是把4个字节再还原成3个字节再根据不同的数据形式把字节数组重新整理成数据。

    1.3 dot Net下采用Base64编码的一个封装好的类库

    Convert.ToBase64String 方法 [C#]

    将 8 位无符号整数数组的值转换为它的等效 String 表示形式(由以 64 为基的数字组成)。

    [Visual Basic] Overloads Public Shared Function ToBase64String(Byte()) As String

    [C#] public static string ToBase64String(byte[]);

    [C++] public: static String* ToBase64String(unsigned char __gc[]);

    [JScript] public static function ToBase64String(Byte[]) : String;

    将 8 位无符号整数数组子集的值转换为其等效的 String 表示形式(由以 64 为基的数字组成)。参数将子集指定为输入数组中的偏移量和数组中要转换的元素数。

    受 .NET Framework 精简版的支持。

    [Visual Basic] Overloads Public Shared Function ToBase64String(Byte(), Integer, Integer) As String

    [C#] public static string ToBase64String(byte[], int, int);

     

    Convert.FromBase64String 方法 [C#] [C++] public: static String* ToBase64String(unsigned char __gc[], int, int);

    [JScript] public static function ToBase64String(Byte[], int, int) : String;

     

    将指定的由以 64 为基的数字组成的值的 String 表示形式转换为等效的 8 位无符号整数数组。

    public static byte[] FromBase64String(string s);

     

    2 怎样抛出异常?

        在一个方法Display()中,有"throw new Exception();"语句,在其它方法执行Display()方法时,当执行到"throw new Exception();"语句时,此语句会抛出一个异常,这时用try…catch…语句,就会捕捉到这个异常。

    3 怎样在Web.config中存储自定义的数据,以及怎样使用C#语言读取这些数据?

    3.1 在Web.config中存储信息

        假如想存储名称为MySession的值为"ABC"的信息。打开Web.config文件,填写如下信息(如果文件里已经有configuration、appSettings节点,则直接写<add …/>信息即可):

    <configuration>

    <appSettings>

    <add key="MySession" value="ABC" />

        </appSettings>

    </configuration>

    3.2 使用C#语言读取这些数据

        使用如下语句:

    string conString1=System.Configuration.ConfigurationSettings.AppSettings["MySession"];

    则conString1中存储的就是字符串"ABC"。

    4 如何使用Cookie?

    4.1 创建和读取会话cookie

    可以使用Response对象和Request类的Cookies属性来创建和读取会话cookie。Cookies属性代表cookie的集合(HttpCookieCollection类的实例)。

    示例8.1.1:创建一个名为myCookie的新会话cookie:

        HttpCookie coo=new HttpCookie("myCookie","Hello!");

        Response.Cookies.Add(coo);

        上面的语句创建一个会话cookie,这个cookie被添加到浏览器的内存中,但是不被记录到文件中。当用户关闭浏览器时,cookie从浏览器中消失。

    示例8.1.2:读取现有的cookie

        Request.Cookies("myCookie");

    注意:cookie只能包含字符串值。

    4.2 创建和读取持久性cookie

        持久性cookie类似去会话cookie,区别在于持久性cookie具有确定的过期日期。当浏览器请求一个创建持久性cookie的页面时,浏览器将cookie保存到硬盘。持久性cookie可以在用户的计算机上保留数月、甚至数年。

    示例8.2.1:创建持久性cookie

        HttpCookie coo=new HttpCookie("myCookie","Hello!");

        coo.Expires=#12/23/2005#

        Response.Cookies.Add(coo);

        会话cookie和持久cookie之间唯一区别是增加了过期信息。

    示例8.2.2:读取持久性cookie

        Request.Cookies("myCookie");

        会话cookie和持久cookie的读取方法一样。

    5 Machine.config、Web.config、子Web.config的覆盖关系是怎样的?

    web.config会覆盖Machine.config,子Web.config文件会覆盖它们的父Web.Config文件指定的配置设置。这意味着,在层次结构中较低位置上创建Web.Config文件时,不需要复制父Web.Config文件的全部内容。可以只指定你需要修改的配置设置。

        Web.Config文件并不悄悄地使用计算机注册表或元数据库保存配置信息。ASP.NET框架直接从Web.Config文件读取所有配置信息。这意味着如果你需要将一个ASP.NET应用程序移动到新的服务器,那么只需要将所有文件(包括Web.Config文件)复制到新服务器上,所有配置设置就跟着转移了。

    6 怎样获得主机IP地址?

    using System.Net;

    string hostname=Dns.GetHostName();

    IPHostEntry hostEntry=Dns.GetHostByName(hostname);

    string ipAddress=hostEntry.AddressList[0].ToString()

    ipAddress存储的就是本机的IP地址。

    public static byte[] FromBase64String( string s

    );

  • 相关阅读:
    mysql常用命令
    CSS样式
    定位
    background
    文本属性和字体属性
    超链接导航案例
    margin塌陷
    浮动
    GIT 修改提交地址
    VUE ElementUI 表格多选框实现单选
  • 原文地址:https://www.cnblogs.com/lexus/p/977339.html
Copyright © 2011-2022 走看看