CodeBus
www.codebus.net
Search
Sign in
Sign up
Hot Search :
Source
embeded
web
remote control
p2p
game
More...
Location :
Home
Search - decoder
Main Category
SourceCode
Documents
Books
WEB Code
Develop Tools
Other resource
Sub Category
Network Marketing
Management
E-commerce
Business guide
Business plan
Successful incentive
Human Resources
Report papers
Marketing materials
Consulting and training
Website
Software Engineering
File Format
Technology Management
Industry research
Program doc
Other
Search - decoder - List
[
Documents
]
DVB-CI STD
DL : 1
Common Interface Specification for Conditional Access and other Digital Video Broadcasting Decoder Applications
Date
: 2009-11-10
Size
: 198.34kb
User
:
calivin998
[
Documents
]
javaNIO
DL : 0
一系列缓冲区类支撑起了 Java 2 平台标准版的新 I/O(NIO)包。这些类的数据容器形成了其它 NIO 操作(如套接字通道上的非阻塞读取)的基础。在本月的 Merlin 的魔力中,常驻 Java 编程专家 John Zukowski 展示了如何操作那些数据缓冲区来执行如读/写原语这样的任务以及如何使用内存映射文件。在以后的文章里,他将把这里所提到的概念扩展到套接字通道的使用。 Java 2 平台标准版(Java 2 Platform Standard Edition,J2SE)1.4 对 Java 平台的 I/O 处理能力做了大量更改。它不仅用流到流的链接方式继续支持以前 J2SE 发行版的基于流的 I/O 操作,而且 Merlin 还添加了新的功能 — 称之为新 I/O 类(NIO),现在这些类位于 java.nio 包中。 I/O 执行输入和输出操作,将数据从文件或系统控制台等传送至或传送出应用程序。(有关 Java I/O 的其它信息,请参阅 参考资料)。 缓冲区基础 抽象的 Buffer 类是 java.nio 包支持缓冲区的基础。 Buffer的工作方式就象内存中用于读写基本数据类型的 RandomAccessFile 。象 RandomAccessFile一样,使用 Buffer ,所执行的下一个操作(读/写)在当前某个位置发生。执行这两个操作中的任一个都会改变那个位置,所以在写操作之后进行读操作不会读到刚才所写的内容,而会读到刚才所写内容之后的数据。 Buffer 提供了四个指示方法,用于访问线性结构(从最高值到最低值): "capacity() :表明缓冲区的大小 "limit() :告诉您到目前为止已经往缓冲区填了多少字节,或者让您用 :limit(int newLimit) 来改变这个限制 "position() :告诉您当前的位置,以执行下一个读/写操作 "mark() :为了稍后用 reset() 进行重新设置而记住某个位置 缓冲区的基本操作是 get() 和 put() ;然而,这些方法在子类中都是针对每种数据类型的特定方法。为了说明这一情况,让我们研究一个简单示例,该示例演示了从同一个缓冲区读和写一个字符。在清单 1 中, flip() 方法交换限制和位置,然后将位置置为 0,并废弃标记,让您读刚才所写的数据: 清单 1. 读/写示例 import java.nio.*; ... CharBuffer buff = ...; buff.put('A'); buff.flip(); char c = buff.get(); System.out.println("An A: " + c); 现在让我们研究一些具体的 Buffer 子类。 回页首 缓冲区类型 Merlin 具有 7 种特定的 Buffer 类型,每种类型对应着一个基本数据类型(不包括 boolean): "ByteBuffer "CharBuffer "DoubleBuffer "FloatBuffer "IntBuffer "LongBuffer "ShortBuffer 在本文后面,我将讨论第 8 种类型 MappedByteBuffer ,它用于内存映射文件。如果您必须使用的类型不是这些基本类型,则可以先从 ByteBuffer 获得字节类型,然后将其转换成 Object 或其它任何类型。 正如前面所提到的,每个缓冲区包含 get() 和 put() 方法,它们可以提供类型安全的版本。通常,需要重载这些 get() 和 put() 方法。例如,有了 CharBuffer ,可以用 get() 获得下一个字符,用 get(int index) 获得某个特定位置的字符,或者用 get(char[] destination) 获得一串字符。静态方法也可以创建缓冲区,因为不存在构造函数。那么,仍以 CharBuffer为例,用 CharBuffer.wrap(aString) 可以将 String对象转换成 CharBuffer 。为了演示,清单 2 接受第一个命令行参数,将它转换成 CharBuffer ,并显示参数中的每个字符: 清单 2. CharBuffer 演示 import java.nio.*; public class ReadBuff { public static void main(String args[]) { if (args.length != 0) { CharBuffer buff = CharBuffer.wrap(args[0]); for (int i=0, n=buff.length(); i<n; i++) { System.out.println(i + " : " + buff.get()); } } } } 请注意,这里我使用了 get() ,而没有使用 get(index) 。我这样做的原因是,在每次执行 get() 操作之后,位置都会移动,所以不需要手工来声明要检索的位置。 回页首 直接 vs. 间接 既然已经了解了典型的缓冲区,那么让我们研究直接缓冲区与间接缓冲区之间的差别。在创建缓冲区时,可以要求创建直接缓冲区,创建直接缓冲区的成本要比创建间接缓冲区高,但这可以使运行时环境直接在该缓冲区上进行较快的本机 I/O 操作。因为创建直接缓冲区所增加的成本,所以直接缓冲区只用于长生存期的缓冲区,而不用于短生存期、一次性且用完就丢弃的缓冲区。而且,只能在 ByteBuffer 这个级别上创建直接缓冲区,如果希望使用其它类型,则必须将 Buffer 转换成更具体的类型。为了演示,清单 3 中代码的行为与清单 2 的行为一样,但清单 3 使用直接缓冲区: 清单 3. 列出网络接口 import java.nio.*; public class ReadDirectBuff { public static void main(String args[]) { if (args.length != 0) { String arg = args[0]; int size = arg.length(); ByteBuffer byteBuffer = ByteBuffer.allocateDirect(size*2); CharBuffer buff = byteBuffer.asCharBuffer(); buff.put(arg); buff.rewind(); for (int i=0, n=buff.length(); i<n; i++) { System.out.println(i + " : " + buff.get()); } } } } 在上面的代码中,请注意,不能只是将 String 包装在直接 ByteBuffer中。必须首先创建一个缓冲区,先填充它,然后将位置倒回起始点,这样才能从头读。还要记住,字符长度是字节长度的两倍,因此示例中会有 size*2 。 回页首 内存映射文件 第 8 种 Buffer 类型 MappedByteBuffer 只是一种特殊的 ByteBuffer 。 MappedByteBuffer 将文件所在区域直接映射到内存。通常,该区域包含整个文件,但也可以只映射部分文件。所以,必须指定要映射文件的哪部分。而且,与其它 Buffer 对象一样,这里没有构造函数;必须让 java.nio.channels.FileChannel的 map() 方法来获取 MappedByteBuffer 。此外,无需过多涉及通道就可以用 getChannel() 方法从 FileInputStream 或 FileOutputStream获取 FileChannel 。通过从命令行传入文件名来读取文本文件的内容,清单 4 显示了 MappedByteBuffer : 清单 4. 读取内存映射文本文件 import java.io.*; import java.nio.*; import java.nio.channels.*; import java.nio.charset.*; public class ReadFileBuff { public static void main(String args[]) throws IOException { if (args.length != 0) { String filename = args[0]; FileInputStream fis = new FileInputStream(filename); FileChannel channel = fis.getChannel(); int length = (int)channel.size(); MappedByteBuffer byteBuffer = channel.map(FileChannel.MapMode.READ_ONLY, 0, length); Charset charset = Charset.forName("ISO-8859-1"); CharsetDecoder decoder = charset.newDecoder(); CharBuffer charBuffer = decoder.decode(byteBuffer); for (int i=0, n=charBuffer.length(); i<n; i++) { System.out.print(charBuffer.get()); } } } }
Date
: 2010-09-20
Size
: 5.74kb
User
:
635868631@qq.com
[
Documents
]
红外遥控器软件解码及其应用
DL : 1
红外遥控器软件解码及其应用-Infrared remote control software decoder and its application
Date
: 2025-12-25
Size
: 11kb
User
:
冯国飞
[
Documents
]
ywf
DL : 0
哈夫曼编/译码器-Huffman encoder/decoder
Date
: 2025-12-25
Size
: 2kb
User
:
杨风
[
Documents
]
huffmanma
DL : 0
这是一个哈夫曼编/译码器程序-Huffman encoder/decoder procedures
Date
: 2025-12-25
Size
: 3kb
User
:
刘海
[
Documents
]
数字钟的设计
DL : 0
数字式计时器一般都由震荡器,分频器,译码器及显示几部分组成。其中震荡器和分频器组成标准秒信号发生器,接成各种不同进制的计数器组成计时系统,译码器,显示器组成显示系统,另外一些组合电路组成校时调节系统。-digital timer usually are oscillator, dividers, decoder and display several parts. Which oscillator and divider standard component signal generator seconds, then into a variety of counter-band component metering systems, decoder, display composition display system, some other combination of circuit composed of school-conditioning system.
Date
: 2025-12-25
Size
: 116kb
User
:
lee
[
Documents
]
Viterbi_opencores
DL : 0
一种维特比译码器状态度量初始化的方法和装置.无压缩密码。-a Viterbi decoder state measurement initialization methods and devices. Uncompressed password.
Date
: 2025-12-25
Size
: 61kb
User
:
mini
[
Documents
]
MPEG-2DEcodeandencodinsoftware
DL : 0
介绍基于windows平台的Mpeg码流的软件编解码的实现。-windows platform based on the MPEG bitstream software codec realized.
Date
: 2025-12-25
Size
: 2.1mb
User
:
qiu
[
Documents
]
Software_Realization_of_Mpeg4-AAC
DL : 0
Mpeg4-AAC音频解码器的实时软件实现的一篇论文。-Mpeg4-AAC audio decoder for real-time software implementation of a paper.
Date
: 2025-12-25
Size
: 2.82mb
User
:
Wiley Zhong
[
Documents
]
JpegDecoder
DL : 0
超强jpeg解码程序,支持各种Jpeg的解码,方便一直到底层-Superacid jpeg decoding process, supports a variety of Jpeg decoder, convenient to the bottom
Date
: 2025-12-25
Size
: 631kb
User
:
周涛
[
Documents
]
5
DL : 0
關於LDPC的encoder和decoder設計的最新參考資料,將QCLDPC同MIMO系統很好的結合在一起-LDPC on the encoder and decoder design of the latest reference materials, will be the same MIMO system QCLDPC good combination
Date
: 2025-12-25
Size
: 528kb
User
:
Nicole OSHI
[
Documents
]
TUIODecoder
DL : 0
tuio decoder working vvvv platform for the multitouch
Date
: 2025-12-25
Size
: 7kb
User
:
Metin KAHRAMAN
[
Documents
]
BCH
DL : 0
有效的并行编码器对于长BCH编码的 大家放心 真的号死后和很好评的-Area efficient parallel decoder architecture for long BCH codes
Date
: 2025-12-25
Size
: 155kb
User
:
王喜爱
[
Documents
]
juanjima_decoder
DL : 0
Matlab的卷积码译码器的设计与仿真的课程设计报告。-Matlab code of convolutional decoder design of the curriculum design and simulation of the report.
Date
: 2025-12-25
Size
: 567kb
User
:
Kang xiaoyang
[
Documents
]
decoder
DL : 0
decode the DTMF signals
Date
: 2025-12-25
Size
: 1kb
User
:
tanxiaoxuan
[
Documents
]
X900_Z228_spec
DL : 0
jade x900 z228 specification(include:arm926,ddr2,h264 decoder,mpeg4 codec, lcd&tv encoder)
Date
: 2025-12-25
Size
: 5.31mb
User
:
wangweiming
[
Documents
]
DecoderProSave
DL : 1
Decoder for ProSave PSr files
Date
: 2025-12-25
Size
: 28kb
User
:
mireklab
[
Documents
]
PT2240 decoder
DL : 0
This is code for PT2240 decoder
Date
: 2017-08-31
Size
: 71.5kb
User
:
yogeshshinde5679@gmail.com
[
Documents
]
1988 PD SCHEME
DL : 0
parallel decoder for error correction
Date
: 2025-12-25
Size
: 279kb
User
:
tharneesh
[
Documents
]
fast polar SCL decoder
DL : 0
实现polar码SCL快速译码,这里包含了多个重要参考文献。(To implement fast polar SCL decoder.)
Date
: 2025-12-25
Size
: 5.01mb
User
:
chenpjh
«
1
2
»
CodeBus
is one of the largest source code repositories on the Internet!
Contact us :
1999-2046
CodeBus
All Rights Reserved.