class CharDet::GB18030DistributionAnalysis
Public Class Methods
new()
click to toggle source
Calls superclass method
CharDet::CharDistributionAnalysis::new
# File lib/rchardet/chardistribution.rb, line 153 def initialize super() @charToFreqOrder = GB18030CharToFreqOrder @tableSize = GB18030_TABLE_SIZE @typicalDistributionRatio = GB18030_TYPICAL_DISTRIBUTION_RATIO end
Public Instance Methods
get_order(aStr)
click to toggle source
# File lib/rchardet/chardistribution.rb, line 160 def get_order(aStr) # for GB18030 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, 1] >= "\xB0") and (aStr[1, 1] >= "\xA1") bytes = aStr.bytes.to_a return 94 * (bytes[0] - 0xB0) + bytes[1] - 0xA1 else return -1 end end