Class | CharDet::GB2312DistributionAnalysis |
In: |
lib/tmail/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb
|
Parent: | CharDistributionAnalysis |
# File lib/tmail/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb, line 144 def initialize super() @_mCharToFreqOrder = GB2312CharToFreqOrder @_mTableSize = GB2312_TABLE_SIZE @_mTypicalDistributionRatio = GB2312_TYPICAL_DISTRIBUTION_RATIO end
# File lib/tmail/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb, line 151 def get_order(aStr) # for GB2312 encoding, we are interested # first byte range: 0xb0 -- 0xfe # second byte range: 0xa1 -- 0xfe # no validation needed here. State machine has done that if (aStr[0..0] >= "\xB0") and (aStr[1..1] >= "\xA1") return 94 * (aStr[0] - 0xB0) + aStr[1] - 0xA1 else return -1 end end