Class: CharDet::EUCJPDistributionAnalysis

Inherits:
CharDistributionAnalysis show all
Defined in:
lib/tmail/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb

Instance Method Summary collapse

Methods inherited from CharDistributionAnalysis

#feed, #get_confidence, #got_enough_data, #reset

Constructor Details

#initializeEUCJPDistributionAnalysis

Returns a new instance of EUCJPDistributionAnalysis.


219
220
221
222
223
224
# File 'lib/tmail/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb', line 219

def initialize
  super()
  @_mCharToFreqOrder = JISCharToFreqOrder
  @_mTableSize = JIS_TABLE_SIZE
  @_mTypicalDistributionRatio = JIS_TYPICAL_DISTRIBUTION_RATIO
end

Instance Method Details

#get_order(aStr) ⇒ Object


226
227
228
229
230
231
232
233
234
235
236
# File 'lib/tmail/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb', line 226

def get_order(aStr)
  # for euc-JP encoding, we are interested 
  #   first  byte range: 0xa0 -- 0xfe
  #   second byte range: 0xa1 -- 0xfe
  # no validation needed here. State machine has done that
  if aStr[0..0] >= "\xA0"
    return 94 * (aStr[0] - 0xA1) + aStr[1] - 0xa1
  else
    return -1
  end
end