目录
问题解答集目录 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
);
分享到:
相关推荐
【企业会计准则监管问题解答合集】 在上市公司执行企业会计准则的过程中,监管机构对一系列问题提供了详细的解答。这些解答涉及到多个关键的会计处理和报告方面,对于理解和遵守会计准则至关重要。 1. **稀释每股...
### Linux中常见问题解答集 #### 一、基础概念与操作 **1.1 Root用户权限** - **问题描述:** 在Linux系统中,经常需要使用root用户进行一些操作,但有时不知道如何切换到root用户或者担心误用root权限导致系统...
安卓系统手机常见问题解答集.docx
电子杂志制作软件iebook超级精灵XXXX常见问题解答集 大全.docx
电子杂志制作软件iebook超级精灵某常见问题解答集大全.doc
PCB板
ChatGPT技术的使用教程、使用方法、使用技巧、使用注意事项、使用中常见问题
linux常见问题解答集,包括:如何建立多用户、如何使用软盘、光盘以及DOS等非Linux分区、如何安装Linux的应用软件等等
### 宇宙学问题解答集概述 文件标题《Solutions_to_Problems_in_Cosmology.pdf》表明这是一个关于宇宙学问题解答的文档。文档描述表明它是第二版《Physical Foundations of Cosmology》由 V. Mukhanov 所著书中第一...
100个安卓手机常见问题解答锦集.docx100个安卓手机常见问题解答锦集.docx100个安卓手机常见问题解答锦集.docx100个安卓手机常见问题解答锦集.docx100个安卓手机常见问题解答锦集.docx100个安卓手机常见问题解答锦集....
CISCO常见问题及解答(全集)
### Oracle常用问题解答知识点 #### 1. SQL & PL/SQL ##### 1.1 查询特殊字符,如通配符%与_ **问题**: 如何在Oracle中查询包含特殊字符如通配符%与_的数据? **解答**: 在Oracle中查询包含特殊字符如通配符%与_...
武仁第二版的解答集不仅提供了答案,还往往解析了解题步骤和思路,这对于自主学习和复习至关重要。它能帮助学生检查自己的理解,发现并修正错误,同时也能提升他们独立解决问题的能力。 在解答集里,你可以找到关于...
《Chatbot心理健康常见问题解答数据集》是一个专为自然语言处理(NLP)设计的数据集,主要用于训练和优化聊天机器人,使其能够有效地处理与心理健康相关的问题。数据集包含了一个CSV文件Mental_Health_FAQ.csv以及一...
网管常见问题解答集合.rar 网管常见问题解答集合.rar 网管常见问题解答集合.rar
《C语言编程常见问题解答》(C Programming FAQs)是关于C语言的常见问题解答集,由Steve Summit撰写,并于1995年由Addison-Wesley出版(ISBN 0-201-84519-9)。这本书回答了C语言编程社区中常见的495个问题。本书的...
这个"88.MATLAB教程 Matlab 80问.rar"压缩包很可能包含了一套详细的MATLAB问题解答集,涵盖了80个常见问题,旨在帮助用户深入理解和掌握MATLAB的基本用法和高级特性。 1. **基础知识**:MATLAB的基础知识包括变量...
这个压缩包内含的"Review1-2Solutions.pdf"文件,是一个详细的问题解答集,旨在提升我们对数字理论和技术的理解。 首先,我们要明白数字概念是信息技术的基础,它涵盖了二进制、数字编码、数字逻辑以及数字系统等多...