Java Doc for UnicodeCompressor.java in  » Internationalization-Localization » icu4j » com » ibm » icu » text » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Internationalization Localization » icu4j » com.ibm.icu.text 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   com.ibm.icu.text.UnicodeCompressor

UnicodeCompressor
final public class UnicodeCompressor implements SCSU(Code)
A compression engine implementing the Standard Compression Scheme for Unicode (SCSU) as outlined in Unicode Technical Report #6.

The SCSU works by using dynamically positioned windows consisting of 128 consecutive characters in Unicode. During compression, characters within a window are encoded in the compressed stream as the bytes 0x7F - 0xFF. The SCSU provides transparency for the characters (bytes) between U+0000 - U+00FF. The SCSU approximates the storage size of traditional character sets, for example 1 byte per character for ASCII or Latin-1 text, and 2 bytes per character for CJK ideographs.

USAGE

The static methods on UnicodeCompressor may be used in a straightforward manner to compress simple strings:

 String s = ... ; // get string from somewhere
 byte [] compressed = UnicodeCompressor.compress(s);
 

The static methods have a fairly large memory footprint. For finer-grained control over memory usage, UnicodeCompressor offers more powerful APIs allowing iterative compression:

 // Compress an array "chars" of length "len" using a buffer of 512 bytes
 // to the OutputStream "out"
 UnicodeCompressor myCompressor         = new UnicodeCompressor();
 final static int  BUFSIZE              = 512;
 byte []           byteBuffer           = new byte [ BUFSIZE ];
 int               bytesWritten         = 0;
 int []            unicharsRead         = new int [1];
 int               totalCharsCompressed = 0;
 int               totalBytesWritten    = 0;
 do {
 // do the compression
 bytesWritten = myCompressor.compress(chars, totalCharsCompressed, 
 len, unicharsRead,
 byteBuffer, 0, BUFSIZE);
 // do something with the current set of bytes
 out.write(byteBuffer, 0, bytesWritten);
 // update the no. of characters compressed
 totalCharsCompressed += unicharsRead[0];
 // update the no. of bytes written
 totalBytesWritten += bytesWritten;
 } while(totalCharsCompressed < len);
 myCompressor.reset(); // reuse compressor
 

See Also:   UnicodeDecompressor
author:
   Stephen F. Booth



Constructor Summary
public  UnicodeCompressor()
     Create a UnicodeCompressor.

Method Summary
public static  byte[]compress(String buffer)
     Compress a string into a byte array.
Parameters:
  buffer - The string to compress.
public static  byte[]compress(char[] buffer, int start, int limit)
     Compress a Unicode character array into a byte array.
Parameters:
  buffer - The character buffer to compress.
Parameters:
  start - The start of the character run to compress.
Parameters:
  limit - The limit of the character run to compress.
public  intcompress(char[] charBuffer, int charBufferStart, int charBufferLimit, int[] charsRead, byte[] byteBuffer, int byteBufferStart, int byteBufferLimit)
     Compress a Unicode character array into a byte array. This function will only consume input that can be completely output.
Parameters:
  charBuffer - The character buffer to compress.
Parameters:
  charBufferStart - The start of the character run to compress.
Parameters:
  charBufferLimit - The limit of the character run to compress.
Parameters:
  charsRead - A one-element array.
public  voidreset()
     Reset the compressor to its initial state.


Constructor Detail
UnicodeCompressor
public UnicodeCompressor()(Code)
Create a UnicodeCompressor. Sets all windows to their default values.
See Also:   UnicodeCompressor.reset




Method Detail
compress
public static byte[] compress(String buffer)(Code)
Compress a string into a byte array.
Parameters:
  buffer - The string to compress. A byte array containing the compressed characters.
See Also:   UnicodeCompressor.compress(char[],int,int)



compress
public static byte[] compress(char[] buffer, int start, int limit)(Code)
Compress a Unicode character array into a byte array.
Parameters:
  buffer - The character buffer to compress.
Parameters:
  start - The start of the character run to compress.
Parameters:
  limit - The limit of the character run to compress. A byte array containing the compressed characters.
See Also:   UnicodeCompressor.compress(String)



compress
public int compress(char[] charBuffer, int charBufferStart, int charBufferLimit, int[] charsRead, byte[] byteBuffer, int byteBufferStart, int byteBufferLimit)(Code)
Compress a Unicode character array into a byte array. This function will only consume input that can be completely output.
Parameters:
  charBuffer - The character buffer to compress.
Parameters:
  charBufferStart - The start of the character run to compress.
Parameters:
  charBufferLimit - The limit of the character run to compress.
Parameters:
  charsRead - A one-element array. If not null, on return the number of characters read from charBuffer.
Parameters:
  byteBuffer - A buffer to receive the compressed data. This buffer must be at minimum four bytes in size.
Parameters:
  byteBufferStart - The starting offset to which to write compressed data.
Parameters:
  byteBufferLimit - The limiting offset for writing compressed data. The number of bytes written to byteBuffer.



reset
public void reset()(Code)
Reset the compressor to its initial state.



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.