match_byte_assert(0);
if (!match_byte(0))
match_byte_assert(1);
- if (version > 1)
- {
- if (!match_byte(0x97) && !match_byte(0x98)
- && !match_byte(0x99) && !match_byte(0x9a) && !match_byte(0x9b))
- match_byte_assert(0x9c);
- match_byte_assert(7);
- match_byte_assert(0);
- match_byte_assert(0);
- }
- else
- {
- printf("%x\n", get_u32());
- }
+ printf("<epoch>%d</epoch>\n", get_u32());
int decimal = data[pos];
int grouping = data[pos + 1];
if (!match_byte(0))
match_byte_assert(1);
- if (!match_byte(0x97) && !match_byte(0x98)
- && !match_byte(0x99) && !match_byte(0x9a) && !match_byte(0x9b))
- match_byte_assert(0x9c);
- match_byte_assert(7);
- match_byte_assert(0);
- match_byte_assert(0);
+ printf("<epoch2>%d</epoch2>\n", get_u32());
if (match_byte('.'))
{
string[@t{command}] string[@t{subcommand}]
string[@t{language}] string[@t{charset}] string[@t{locale}]
(00 @math{|} 01) 00 (00 @math{|} 01) (00 @math{|} 01)
- int
+ int[@t{epoch}]
byte[@t{decimal}] byte[@t{grouping}]
byte*8 01
(string[@t{dataset}] string[@t{data file}] i0 int i0)?
rest of the character strings in the member use this encoding. The
encoding string is itself encoded in US-ASCII.
+@code{epoch} is the year that starts the epoch. A 2-digit year is
+interpreted as belonging to the 100 years beginning at the epoch. The
+default epoch year is 69 years prior to the current year; thus, in
+2017 this field by default contains 1948. In the corpus, @t{epoch}
+ranges from 1943 to 1948, plus some contain -1.
+
@code{decimal} is the decimal point character. The observed values
are @samp{.} and @samp{,}.