Update to string record
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352823 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
3b6f854e14
commit
0ad7523480
@ -54,8 +54,9 @@
|
|||||||
|
|
||||||
package org.apache.poi.hssf.record;
|
package org.apache.poi.hssf.record;
|
||||||
|
|
||||||
import org.apache.poi.util.LittleEndian;
|
import org.apache.poi.util.*;
|
||||||
import org.apache.poi.util.StringUtil;
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supports the STRING record structure.
|
* Supports the STRING record structure.
|
||||||
@ -65,10 +66,10 @@ import org.apache.poi.util.StringUtil;
|
|||||||
public class StringRecord
|
public class StringRecord
|
||||||
extends Record
|
extends Record
|
||||||
{
|
{
|
||||||
public final static short sid = 0x207;
|
public final static short sid = 0x207;
|
||||||
private int field_1_string_length;
|
private int field_1_string_length;
|
||||||
private byte field_2_unicode_flag;
|
private byte field_2_unicode_flag;
|
||||||
private String field_3_string;
|
private String field_3_string;
|
||||||
|
|
||||||
|
|
||||||
public StringRecord()
|
public StringRecord()
|
||||||
@ -123,7 +124,6 @@ public class StringRecord
|
|||||||
* @param size size of data
|
* @param size size of data
|
||||||
* @param offset of the record's data (provided a big array of the file)
|
* @param offset of the record's data (provided a big array of the file)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
protected void fillFields( byte[] data, short size, int offset )
|
protected void fillFields( byte[] data, short size, int offset )
|
||||||
{
|
{
|
||||||
field_1_string_length = LittleEndian.getUShort(data, 0 + offset);
|
field_1_string_length = LittleEndian.getUShort(data, 0 + offset);
|
||||||
@ -134,7 +134,7 @@ public class StringRecord
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
field_3_string = new String(data, 3 + offset, getStringLength());
|
field_3_string = new String(data, 3 + offset, field_1_string_length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,7 +156,6 @@ public class StringRecord
|
|||||||
return 4 + 2 + 1 + getStringByteLength();
|
return 4 + 2 + 1 + getStringByteLength();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* is this uncompressed unicode (16bit)? Or just 8-bit compressed?
|
* is this uncompressed unicode (16bit)? Or just 8-bit compressed?
|
||||||
* @return isUnicode - True for 16bit- false for 8bit
|
* @return isUnicode - True for 16bit- false for 8bit
|
||||||
@ -178,7 +177,7 @@ public class StringRecord
|
|||||||
public int serialize( int offset, byte[] data )
|
public int serialize( int offset, byte[] data )
|
||||||
{
|
{
|
||||||
LittleEndian.putShort(data, 0 + offset, sid);
|
LittleEndian.putShort(data, 0 + offset, sid);
|
||||||
LittleEndian.putShort(data, 2 + offset, ( short ) (2 + getStringByteLength()));
|
LittleEndian.putShort(data, 2 + offset, ( short ) (3 + getStringByteLength()));
|
||||||
LittleEndian.putUShort(data, 4 + offset, field_1_string_length);
|
LittleEndian.putUShort(data, 4 + offset, field_1_string_length);
|
||||||
data[6 + offset] = field_2_unicode_flag;
|
data[6 + offset] = field_2_unicode_flag;
|
||||||
if (isUnCompressedUnicode())
|
if (isUnCompressedUnicode())
|
||||||
|
Loading…
Reference in New Issue
Block a user