`
chenming47
  • 浏览: 94281 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

字符与字节、编码与解码

 
阅读更多

字符:就是人们使用的记号,抽象意义上的一个符号。

 

字节:计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间。

 

编码:字符转字节的过程。

 

解码:字节转字符的过程。

 

在java中的编码举例:

byte[] bytes = "test".getByte("iso-8859-1");

将"test"字符串按iso-8859-1编码成字节数组,即一个字符编码成一个字节,并且如果有字符不属于iso-8859-1字符集,则无法采用正确的字节来表示,会采用错误的字节来表示。其他编码类似处理。

该例的最终结果是把unicode字符转换成由iso-8859-1编码的字节数组。

 

在java中解码举例:

String test = new String(bytes,"iso-8859-1");

将bytes字节数组按iso-8859-1解码成字符串(由字符组成),即一个字节编码成一个字符,字符的具体内容就是对应的字节在iso-8859-1字符集中的表示。其他编码类似处理

该例的最终结果是把字节数组按iso-8859-1解码转换成unicode字符,要不出现乱码,则必须bytes是由iso-8859-1编码的。

 

当我们要把一个“字节串”转化成“字符串”,而又不知道它是哪一种 ANSI 编码时,先暂时地把“每一个字节”作为“一个字符”进行转化,不会造成信息丢失。然后再使用 bytes = string.getBytes("iso-8859-1") 的方法可恢复到原始的字节串。

分享到:
评论

相关推荐

    字符编码解码工具字符编码,解码

    字符编码解码工具的设计往往注重易用性和兼容性,确保用户可以方便地处理各种编码格式的文件。例如,这样的工具可能会提供预设的编码选项供用户选择,或者通过分析文件内容自动检测其编码。同时,它还可能具备批量...

    字符编码解码的故事、字符编码解码的故事

    ### 字符编码解码的故事 #### 一、引言 字符编码是计算机科学中的一个基本概念,它定义了如何将各种字符(如字母、数字、符号等)转换为计算机能够理解的形式,即二进制数据。随着信息技术的发展,字符编码经历了...

    字节、字符、编码的相关知识

    单字节编码如ASCII,每个字符占用一个字节;多字节编码如ISO-2022-JP、Shift_JIS,根据字符的不同,占用1至n个字节;可变长度编码如UTF-8,根据字符的复杂程度动态调整字节数,既高效又兼容ASCII。 #### 字符与编码...

    Base64文本字符串解码编码双向解析转换工具

    解码过程则是相反的,首先对Base64编码的字符串进行解析,恢复出6位的块,再将这些块组合成原始的字节序列,最后根据UTF8编码规则将字节序列还原为文本字符串。 这个工具的双向解析转换功能意味着它可以实现两个...

    js对中文字符串进行gb2312编码解码

    在JavaScript(JS)中,处理中文字符编码是一个常见的需求,特别是在与服务器交互或者处理文本数据时。GB2312编码是一种在中国大陆广泛使用的简体中文字符集,它包含了6763个常用汉字和一些其他字符。在JavaScript中...

    C#中的编码和解码是如何实现的

    在C#中,编码和解码是处理字符串和字节序列之间转换的常见操作。这些操作通常涉及到字符集编码,如UTF-8、ASCII、GB2312等。以下是一些在C#中实现编码和解码的方法和最佳实践。 C#提供了强大的编码和解码功能,使得...

    Base64文本字符串编码解码加密解密双向解析工具

    6. 将解码得到的字节序列转换回文本(使用相同的字符编码,如UTF-8)。 至于标签中的“加密”和“解密”,Base64本身并不提供加密功能。它只是一种编码方式,可以将数据转化为另一种形式,但这种转化是可逆的,任何...

    统计字符串字节数统计字符串字节数

    因此,当你进行数据传输或存储时,了解字符串的编码和字节数至关重要,以避免潜在的解码错误或内存溢出问题。 在实际应用中,可能会遇到更复杂的情况,比如文件读取、网络传输等。此时,我们需要考虑文件的编码格式...

    字符集和字符编码

    GB 18030 主要有以下特点:与 UTF-8 相同,采用多字节编码,每个字可以由 1 个、2 个或 4 个字节组成。编码空间庞大,最多可定义 161 万个字符。支持中国国内少数民族的文字,不需要动用造字区。汉字收录范围包含...

    易语言字符编码转换

    UTF-8是一种多字节编码,可以表示世界上大部分语言的文字,且在互联网上广泛使用。 易语言字符编码转换源码中,可能包含以下关键知识点: 1. **字符编码识别**:在转换前,需要识别输入文本的原始编码。这通常通过...

    字符串和base64的编码与解码

    在上述代码中,`encode('utf-8')`用于将字符串转换为UTF-8编码的字节,`decode('ascii')`则是为了将Base64编码的字节转换回字符串。这样,我们就可以在保持数据完整性的前提下,轻松地在字符串和Base64编码之间进行...

    JAVA 字符流与字节流

    3. **性能**:字符流的性能通常比字节流慢,因为它涉及字符编码和解码的过程。 4. **适用场景**:字节流适用于处理任何形式的二进制数据,而字符流更适合处理文本数据。 ### 使用场景选择 - 当处理文本数据时,应...

    霍夫曼编码与解码

    本作业的重点是理解和实现霍夫曼编码与解码的过程。 霍夫曼编码的核心思想是基于字符出现频率构建最优的前缀编码。字符出现频率越高,其编码长度越短,反之则越长。这样可以确保高频字符占用较少的位,从而整体上...

    vb.net编码解码例子form字符集转换

    在VB.NET编程环境中,字符集转换和编码解码是至关重要的概念,特别是在处理不同语言或系统间的数据交换时。字符集定义了字符的二进制表示,而编码和解码则是将字符转换为字节流和反之的过程。下面将详细探讨这些知识...

    JAVA二进制字节数组字符十六进制BCD编码转换.doc

    在Java编程中,二进制、字节数组、字符、十六进制和BCD(Binary-Coded Decimal,二进制编码的十进制)编码转换是常见的数据处理任务。以下将详细介绍这些概念以及如何在Java中进行相关操作。 1. **二进制与十六进制...

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

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

    Java字符集和编码

    GBK同样采用了双字节编码方式,但在高字节大于127的情况下,低字节可以小于127,这意味着GBK比GB2312更加灵活。 ##### 3. Unicode 为了解决不同DBCS之间的不兼容问题,国际标准化组织制定了Unicode编码标准。...

    字节流编码获取

    在处理字节流编码时,我们通常会遇到诸如字符集、字节顺序标记(BOM)、解码与编码的过程等概念。下面我们将深入探讨这些知识点。 首先,让我们了解什么是字节流。字节流是计算机处理数据的一种方式,无论是文件...

    js对图片base64编码字符串进行解码并输出图像示例

    首先,我们需要理解Base64编码的工作原理:Base64将每3个字节的二进制数据转换为4个可打印的ASCII字符,以此来确保数据可以在文本环境中安全传输。 以下是解码Base64编码的JavaScript代码片段: ```javascript ...

    短信UCS编码或解码工具

    5. **UTF-8**:UTF-8是Unicode的变体,它可以高效地表示各种语言的字符,而且对于ASCII字符,UTF-8编码与ASCII编码完全相同,这使得它在互联网上非常流行。 短信开发过程中,PDU(Protocol Data Unit,协议数据单元...

Global site tag (gtag.js) - Google Analytics