- 浏览: 748106 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (419)
- 杂软粉墨 (2)
- 创意灵感 (3)
- 经验记录 (137)
- 开源轨迹 (2)
- sip-communicator (2)
- 闲侃杂谈 (8)
- 问题交流 (24)
- 概念模式 (32)
- 难点备案 (5)
- JwChat (1)
- 中国象棋 (1)
- 教育探索 (6)
- 英语研究 (58)
- 星际争霸 (1)
- 电信知识 (1)
- 软件架构 (3)
- 哲学探索 (26)
- 算法灵魂 (8)
- 近视探索 (6)
- 数学数学 (3)
- 牛角钻尖 (23)
- 至强文言 (3)
- 数据结构 (1)
- 宇宙物理 (2)
- 网络架构 (3)
- 游戏领域 (4)
- 图形处理 (2)
- 修炼之路 (8)
- 读书天地 (20)
- 编解乱码 (2)
- 概念探索 (8)
- 格物致知 (1)
- 其它语言 (1)
- 测试领域 (3)
- 文化风流 (1)
- JQuery (1)
- 網頁領域 (1)
- Unix/Linux (1)
- Inside JVM (1)
- 异常分析 (1)
最新评论
-
suyujie:
引用
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
iamzhoug37:
您能说一下"局部变量不受文本顺序限制" 是 ...
声明前为什么能赋值却不能输出,都是使用
ByteArrayOutputStream baos=new ByteArrayOutputStream(); DataOutputStream dos=new DataOutputStream(baos); dos.writeByte(2); dos.writeByte(3); dos.writeByte(0x83); String data=baos.toString(); byte[] buf=baos.toByteArray(); ByteArrayInputStream bais1=new ByteArrayInputStream(data.getBytes()); DataInputStream dis1=new DataInputStream(bais1); System.out.println(dis1.readByte()); System.out.println(dis1.readByte()); System.out.println(dis1.readUnsignedByte()); System.out.println("------------------------------------"); ByteArrayInputStream bais2=new ByteArrayInputStream(buf); DataInputStream dis2=new DataInputStream(bais2); System.out.println(dis2.readByte()); System.out.println(dis2.readByte()); System.out.println(dis2.readUnsignedByte());
打印结果:
2
3
239
------------------------------------
2
3
131
问
题:
为什么这2个打印结果不一样呢?
回 答:
这个原因应该是某些码值在某些字符集下编解码过程非一一映射导致
某些默认系统编码比如GBK,在decoding时,即
baos.toString(),会出现malformed-input和unmappable-character
sequences被系统默认串替代的情况;在encoding时,即data.getBytes(),也会出现在默认字符集中无法被编码的串,这时候结
果是未定的。
验证一下,替换 dos.writeByte(0x83) => dos.writeByte(0x7f)
结果则是一样的 都是127
由此可见。
发表评论
-
关于方法访问控制符protected
2012-11-29 10:38 1268http://bbs.csdn.net/topics/3902 ... -
一个基本问题关于引用的
2012-05-15 10:20 1130问: int a = 1; Integer b = new ... -
我對面向對象和過程的理解。
2012-05-02 08:30 1068我的一些理解。 面向过程,是对客观现象的描述,感觉是有一个上 ... -
stack and heap
2012-01-13 23:17 1054我觉得是根据应用方式 和本身特性 才将内存分区的,目的是提 ... -
program experience conclusion
2011-07-11 15:35 10671. check parameters for validit ... -
PreparedStatement's possible designated parameter
2011-04-29 13:45 991though it's nearly impossible t ... -
clean Log4j
2011-04-12 11:19 1068import org.apache.log4j.BasicCo ... -
about abstract class
2011-04-02 10:34 870yes, we do know abstract class ... -
cvs operations on linux
2011-03-25 09:40 1016http://www.linuxhowtos.org/Syst ... -
regex to exchange two parts
2011-03-24 17:09 1096public class Test { public ... -
About the database locking
2011-03-09 11:02 967http://en.wikipedia.org/wiki/Lo ... -
how to send soap message in java
2011-03-08 10:29 1898import java.io.BufferedReader; ... -
About ShutDownDemo
2011-03-07 15:02 985public class ShutdownDemo { p ... -
How do you know if an explicit object casting is needed
2011-02-24 16:33 1191通俗来讲,不可能将一只是猫的动物强转为狗 再说Graphic ... -
有关MimeUtility
2011-02-24 13:11 3368import java.io.UnsupportedEncod ... -
C#连接sql server 2008的一件2事
2011-02-24 09:01 2157once upon a time, i came upon o ... -
Shadowing, Overriding, Hiding and Obscuring
2011-02-22 15:15 1167当子类属性与父类属性重叠时 这种叫法上是shadowi ... -
JAXP usage
2011-02-16 16:07 1103import java.io.ByteArrayInputSt ... -
运行一个类,如果classpath中路径带空格就加双引号
2011-02-11 11:25 2809注意是这样加: java -cp .;"d:\my ... -
关于ClassPath中的current directory
2011-01-28 16:40 1155Given: 1. package com.company. ...
相关推荐
与现有的8B/10B编解码方案相比,该方案是一种利用FPGA实现8B/10B编解码的模块方法,接收模块在收到外部发送的并行数据时,通过直接查找映射的方法转换成利于传输的串行信号。串行信号经串并行转换模块,将数据经10B/...
本主题主要关注使用UPER编解码工具的实践,这是一个用于处理ASN.1定义的数据结构,并将它们转换为二进制格式或从二进制格式反向转换的工具。该工具提供了底层实现,即处理编码和解码的核心算法,以及易于使用的接口...
**sbc编解码源代码**是用于处理音频编码和解码的一种技术,特别是在Android平台上。sbc(Subband Coding)是一种低比特率音频编码标准,广泛应用于蓝牙音频传输,如A2DP(Advanced Audio Distribution Profile)协议...
在IT行业中,PDU(Protocol Data Unit)短信编解码是一种常见的通信技术,特别是在GSM(全球系统移动通信)网络中。PDU模式是短信服务中心(SMSC)与手机之间交换短信的一种方式,它使用二进制编码来传输数据。在...
本资源提供的是一套完整的AVC编解码源码,对于开发者来说,这是一个深入理解视频编解码原理、优化性能或定制功能的宝贵素材。下面将详细介绍AVC编解码的基本概念、工作流程,以及在Android环境下如何应用这些源码。 ...
**G711A音频编解码技术详解** 在信息技术领域,音频编解码是通信系统中的关键环节,它负责将模拟音频信号转换为数字数据,以便于存储、传输和处理。G711A是一种广泛应用的音频编码标准,尤其在电话系统、VoIP...
G711是一种广泛应用于语音通信的标准音频编解码器,尤其在PSTN(公共交换电话网络)和VoIP(Voice over Internet Protocol)系统中非常常见。它定义了两个主要的编码格式:μ-law(也称为u-law或mu-law)和A-law,...
本篇将详细阐述PCM编解码在Simulink环境中的实现及其相关知识点。 一、PCM编码原理 PCM编码过程主要包括采样、量化和编码三个步骤: 1. **采样**:根据奈奎斯特定理,为了不失真地恢复原始模拟信号,采样频率至少...
G722是一种广泛应用于语音通信的音频编解码标准,尤其在IP电话和网络音频传输中占有重要地位。这个压缩包包含的源代码文件,是实现G722编解码功能的关键部分,让我们来深入了解一下这些文件及其在G722编解码过程中的...
在通信和音频处理领域,编解码技术是至关重要的,特别是在语音传输中。G711、G721和G723是三种广泛使用的音频编解码标准,它们各自有不同的特点和应用场景。让我们深入了解一下这些编码方式,并探讨它们在实际应用中...
H264编解码是数字视频处理领域中一种高效且广泛应用的编码标准,由ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(动态图像专家组)联合开发,作为MPEG-4 AVC(高级视频编码)的一部分。H264,也称为AVC(Advanced ...
在通信传输中,尤其是语音传输领域,PCM 编解码扮演着至关重要的角色。它使得语音信号能够通过数字通信系统进行高效、高质量的传输。 PCM 编码的基本过程包括采样、量化和编码三个步骤: 1. **采样**:根据...
在C语言中实现JPEG编解码需要理解其核心算法,包括离散余弦变换(DCT)、量化、哈夫曼编码以及反量化和逆DCT等步骤。以下是对这些知识点的详细解释: 1. **JPEG编解码流程**: - **编码**:首先,图像被分割成8x8...
在C/C++中,处理Base64编解码通常需要自定义函数或者利用开源库。这个开源库提供了解决这个问题的方法。 1. **Base64编码原理** - Base64编码是将每3个字节(24位)的数据转换为4个6位的字符(每个字符对应Base64...
C/C++实现G.711编解码主要涉及以下几个关键步骤: 1. **PCM采样**:音频信号首先通过ADC(Analog-to-Digital Converter)转换成数字信号,通常以8000Hz的采样率和8位的样本深度进行采样。这将得到一个16kHz的PCM...
在电子技术领域,数字电视编解码装置与方法是至关重要的组成部分,它们是现代数字电视系统的核心技术。本文将深入探讨这一主题,旨在提供关于数字电视编解码的全面理解。 数字电视编解码装置主要负责将模拟电视信号...
根据提供的文件信息,我们可以总结出以下关于“C BASE64 编解码函数”的相关知识点: ### C BASE64 编解码函数简介 #### 1. 基本概念 BASE64是一种用于将二进制数据转换为文本字符串的标准编码方法。这种编码方式...