Class CharDet::GB2312DistributionAnalysis
In: lib/tmail/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb
Parent: CharDistributionAnalysis

Methods

get_order   new  

Public Class methods

[Source]

# 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

Public Instance methods

[Source]

# 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

[Validate]