org.jaudiotagger.tag.id3
Class ID3SyncSafeInteger
java.lang.Object
org.jaudiotagger.tag.id3.ID3SyncSafeInteger
public class ID3SyncSafeInteger
- extends java.lang.Object
Peforms encoding/decoding of an syncsafe integer
Syncsafe integers are used for the size in the tag header of v23 and v24 tags, and in the frame size in
the frame header of v24 frames.
In some parts of the tag it is inconvenient to use the
unsychronisation scheme because the size of unsynchronised data is
not known in advance, which is particularly problematic with size
descriptors. The solution in ID3v2 is to use synchsafe integers, in
which there can never be any false synchs. Synchsafe integers are
integers that keep its highest bit (bit 7) zeroed, making seven bits
out of eight available. Thus a 32 bit synchsafe integer can store 28
bits of information.
Example:
255 (%11111111) encoded as a 16 bit synchsafe integer is 383
(%00000001 01111111).
Field Summary |
static int |
INTEGRAL_SIZE
|
static int |
MAX_SAFE_SIZE
Sizes equal or smaller than this are the same whether held as sync safe integer or normal integer so
it doesnt matter. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
INTEGRAL_SIZE
public static final int INTEGRAL_SIZE
- See Also:
- Constant Field Values
MAX_SAFE_SIZE
public static final int MAX_SAFE_SIZE
- Sizes equal or smaller than this are the same whether held as sync safe integer or normal integer so
it doesnt matter.
- See Also:
- Constant Field Values
ID3SyncSafeInteger
public ID3SyncSafeInteger()