`
wangpengfei360
  • 浏览: 1080421 次
文章分类
社区版块
存档分类
最新评论

字符串和二进制数组转换、将HTML文件显示为页面的一部分、UTF8和GB2312之间的转换

 
阅读更多

1.字符串转二进制数组
string content="这是做个测试!";

System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding();
byte[] byteArr = converter.GetBytes(content);

2.二进制数组转为字符串

System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding();
string spcontent = converter.GetString(byteArr );

【文件以二进制形式保存到数据库】


在编程中会遇到将文件以二进制数据保存到数据库的情况,以将"C:\test.html"文件保存到数据库和读取出来为例:

1.将文件以流的形式保存到数据库中:

int itag=0;

      string content = "";

      StringBuilder sb = new StringBuilder();

       string fileName = @"c:\test.html";
StreamReader objReader = new StreamReader(fileName, System.Text.Encoding.GetEncoding("gb2312"));
string sLine = "";
while (sLine != null)
   {
   sLine = objReader.ReadLine();
  if (sLine != null)
  {//这里可以做相应的处理,如过滤文件中的数据
   sb.Append(sLine);

   }
 }

objReader.Close();

content= sb.ToString(); //如果你要将整个文件的内容显示在界面上,你可以用<%=content%>放到相应的地方

      System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding();
      byte[] byteArr = converter.GetBytes(content);

//下面为插入到数据库代码,

strInsertCmd = "insert into Document (DocumentID,DocumentContent,addtime,MODITIME,status) values ('" + DocumentID + "',?,'" + NOWTIME + "','" + NOWTIME + "',' 00 ')";
cmd=new OleDbCommand(strInsertCm,ConnectionOBJ);
param = new OleDbParameter("DocumentContent", OleDbType.VarBinary, byteArr.Length, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, byteArr);
cmd.Parameters.Add(param);
itag=cmd.ExecuteNonQuery();

if(itag>0){//成功!}

2.从数据库中读取保存为文件或者字符串和步骤1是一个相反的过程


1.将GB2312数据转换为UTF-8数据如下(其他的编码类推):
public string GB2312ToUTF8(string sSourse) {
string Utf8_info = string.Empty;
Encoding utf8 = Encoding.UTF8;
Encoding gb2312 = Encoding.GetEncoding("gb2312");
byte[] unicodeBytes = gb2312.GetBytes(sSourse);
byte[] asciiBytes = Encoding.Convert(gb2312, utf8, unicodeBytes);
char[] asciiChars = new char[utf8.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
utf8.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
Utf8_info = new string(asciiChars);
return Utf8_info;
}

分享到:
评论

相关推荐

    VB.NET 字符串与二进制间的转换

    例如,`BitConverter.ToString(bytes)`可以将字节数组转换为十六进制字符串,而`BitConverter.ToInt32(bytes, startIndex)`将字节数组的一部分转换为整数。 3. **BinaryWriter 和 BinaryReader** 这两个类提供了...

    asp.net 字符串、二进制、编码数组转换函数

    相反的操作是从二进制数组转换为字符串,这在从数据库或文件中读取数据时非常有用。仍以UTF8编码为例,我们可以使用Encoding类的GetString方法,将之前得到的字节数组转换回字符串。这个过程是编码过程的逆过程,...

    C# 利用MemoryStream二进制和字符相互转换编码函数 (原码)

    而字符编码,如ASCII、Unicode(包括UTF-8、UTF-16等)则将这些二进制序列转换为人类可读的字符。在C#中,我们通常使用`System.Text.Encoding`类来处理字符编码。 接下来,我们来看如何使用`MemoryStream`进行转换...

    将字符串转换成gb2312或者utf-8编码的参数(js版)

    在标题和描述中提到的问题,即如何将字符串转换为GB2312或UTF-8编码以便在URL中安全地传递中文参数。下面将详细介绍这个过程,并给出提供的代码实现。 首先,我们需要理解GB2312和UTF-8两种编码方式。GB2312是中国...

    二进制汉字互转程序

    例如,使用`Encoding.UTF8.GetBytes()`方法将汉字转换为字节数组,然后使用`BitConverter.ToString()`将其转换为二进制字符串;反之,使用`Encoding.UTF8.GetString()`方法将字节数组还原为汉字。 在提供的压缩包...

    GB2312汉字编码表与其字符数组.zip

    由于GB2312是针对中文的,与国际上广泛使用的Unicode编码不兼容,所以在互联网和跨平台应用中,通常需要将GB2312编码转换为UTF-8或其他Unicode编码格式。这个过程涉及到编码的解码和编码,需要使用特定的函数库或...

    UTF8 LV80_字符转换_

    标题“UTF8 LV80_字符转换_”和描述“汉字转换成UTF-8字符串”表明,这个主题涉及的是字符编码中的UTF-8编码格式,特别是如何将汉字字符转换为UTF-8编码的字符串。UTF-8是一种广泛使用的Unicode字符编码,能够表示...

    java实现解析二进制文件的方法(字符串、图片)

    在本篇文章中,主要介绍了如何使用Java语言来解析包含字符串和图片的二进制文件。这一过程涉及到对二进制数据的读取和解析,具体实现的方法包括读取字符串的长度和内容,以及图片的数据长度和内容。下面将详细展开...

    字节,字符,字符串的区别

    例如,使用Encoding.UTF8.GetString()将字节数组解码为字符串,而使用Encoding.UTF8.GetBytes()将字符串编码为字节数组。 总结来说,字节、字符和字符串在C#中各有其用途,字节处理二进制数据,字符用于表示单个...

    字节转换工具

    它可以简化字节级别的操作,比如将字节数组转换为字符串,或将数字以特定编码(如ASCII、UTF-8等)转换为字节序列。 标签“字节转换”明确了这款工具的核心功能,即处理和转换字节数据。这可能包括但不限于: 1. *...

    读取二进制文件,StreamReader的使用示例

    在深入探讨如何使用`StreamReader`和`BinaryReader`来读取二进制文件之前,我们首先需要理解这两...这种组合使用的方式在实际开发中非常常见,尤其当面对复杂的数据格式或需要在文本和二进制数据之间进行转换的场景时。

    JAVA 十六进制与字符串的转换

    要将十六进制字符串转换回原来的字符串,需要先将十六进制字符串解析为字节数组,然后再将字节数组转换为原始字符串。具体步骤如下: 1. **定义函数**:`public static String toStringHex(String s)` 2. **初始化...

    常用字符串处理函数-求子字符串,字符串分割,编码转换.

    例如,将字符串转换为UTF-8编码的二进制数据: ```javascript let encoder = new TextEncoder(); let data = encoder.encode('Hello world'); ``` 反过来,将UTF-8编码的二进制数据转换回字符串: ```javascript ...

    bety 转换其他进制.docx

    8. **字符串与编码的转换**:此外,涉及到字符串与特定编码(如UTF-8或GBK)之间的转换,可以通过编码相关的类和方法进行操作。例如,`ToHex`方法可以将一个汉字字符串按照指定编码转换为16进制表示,以便在网络传输...

    截取如下字符串“java程序教程”的前5个字节,字符串应该为“java程”,截取前6个字符,字符串也应该为“java程”,程序实现之.

    在处理字符串截取时,我们通常需要关注几个关键的编程概念:编码格式、字符和字节的区别以及字符串和字节数组之间的转换。本文将基于标题和描述所提需求,详细探讨Java环境下实现字符串截取的方法以及相关知识点。 ...

    C#字符串处理工具【CS】

    此工具可能涵盖了将字符串转化为数字、日期、时间等多种数据类型,以及编码转换(如ASCII到Unicode,或者UTF-8到GB2312),这对于处理跨平台或多语言环境下的数据尤为重要。此外,还可能包括字符串与十六进制、二...

    GBK内码字符串转Unicode字符串

    // 将UTF-8字节数组转换回字符串 return new String(unicodeBytes.array(), "UTF-8"); } catch (Exception e) { e.printStackTrace(); return null; } } } ``` 这段代码首先创建了GBK和UTF-8的解码器和编码...

    易语言文本和字节集相互转换

    该函数接收一个字节集和编码方式(如GB2312、UTF-8等)作为参数,返回解码后的字符串。例如,`取字符串(字节集, “UTF-8”)`会将字节集按照UTF-8编码解析成文本。 3. **处理编码问题**:在进行文本与字节集的转换时...

    POS二进制数据

    - **转换为UTF-8编码的字符串**:`Encoding.UTF8.GetString(_tmpData)`将二进制数据转换为UTF-8编码的字符串,便于后续处理和显示。 ##### 3. 结果输出 ```csharp Response.Write(...

    用C#一步步写串口通信.docx

    主要方法是使用 String 的 ToCharArray() 方法将字符串转换为字符数组,然后使用 BitConverter.ToString() 方法将字符数组转换为 16 进制字符串。最后使用 Encoding.UTF8.GetBytes() 方法将 16 进制字符串转换为字节...

Global site tag (gtag.js) - Google Analytics