1b9889914a
Fix numerous bugs with gb18030
2018-08-29 15:58:53 -04:00
467c565e8c
Implement gb18030 seeking
...
Also fix some bugs in EOF handling
2018-08-28 15:31:51 -04:00
40d0054bd1
Implement gb18030 and GBK encoders
2018-08-28 11:48:25 -04:00
d6747532cd
Implement gb18030 decoder
2018-08-27 18:03:12 -04:00
3ee653307c
Implement all other single-byte encodings
2018-08-11 15:44:16 -04:00
269ecf4a96
Style fixes
2018-08-11 14:44:55 -04:00
7de6d7a6fc
Implement ISO-8859-6 single-byte encoding
...
Other single-byte encodings to follow
2018-08-11 14:39:58 -04:00
540d8a237e
Style fixes
2018-08-10 15:00:30 -04:00
e2c4136001
Change iterator to a set of generators
...
Not only is the faster than a classical iterator (though still not as
fast as a while loop), but it also offers the choice of characters
or code points.
2018-08-10 12:24:10 -04:00
7f2c11dcc2
Make the iterator iterate over code points rather than characters
...
Also fix performance measurement for the iterator; it was all wrong.
2018-08-10 10:39:09 -04:00
cb1cab9d84
Implement fatal replacement mode
2018-08-10 09:16:37 -04:00
4ca07befe5
Change API symbols for greater consistency and clarity
2018-08-09 13:29:28 -04:00
ccf1fe180a
More safely back up state
2018-08-03 13:58:00 -04:00
8f7a7ed49e
Add basic iterator implementation
2018-08-03 11:50:57 -04:00
e12fc0d77f
Reorganize namespaces anticipating future internationalization tasks
2018-08-02 16:17:34 -04:00
51f7bbc5f7
Test encoder
2018-08-02 16:06:11 -04:00
72291b5f0d
Implement string length
2018-08-02 15:53:49 -04:00
5c21a3634c
Implement peeking
2018-08-02 15:17:17 -04:00
41a3a7bb5e
Clean up
2018-08-02 14:46:23 -04:00
88497ddc41
Remove functional interface
...
The maintenance burden is not worth the advantages it provides in
limited situations.
Moreover, if other decoders are to be implemented, most multi-byte
schemes would not be able to support a functional interface of similar
simplicity, and single-byte schemes wouldn't benefit much
2018-08-02 14:19:03 -04:00
ca91a86744
Clean up static-method interface and test it
2018-07-28 22:34:32 -04:00
34eee5fcc3
Rename test case file
2018-07-27 22:19:53 -04:00
b32b1ec038
Style fixes
2018-07-27 22:11:53 -04:00
6fd50f0681
Ensure char and byte position never goes beyond the end of the string
2018-07-27 19:11:33 -04:00
9fba89ebda
Tested seeking
2018-07-27 18:57:53 -04:00
a99702d4ab
More robust self-synchronization
2018-07-24 08:45:42 -04:00
c11da3ac6b
Remove now unnecessary data generator
2018-07-22 12:17:44 -04:00
b871c4f2fd
Implement seeking backward though a string
2018-07-21 19:59:56 -04:00
1ed3c36a65
Start on alternate object-based interface
...
This is both simpler, and slightly faster, yielding between 2% and 5% faster performance
2018-05-05 14:32:03 -04:00
434e41cc2c
Initial round of decoding tests, with one fix
2018-04-24 16:26:29 -04:00
9062f4e6a6
Add infrstructure required for tests
2018-04-23 14:21:25 -04:00