Class | CharDet::MultiByteCharSetProber
In: | lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb
Parent: | CharSetProber

### Methods

feed get_charset_name get_confidence new reset

### Public Class methods

new()

[Source]

    # File lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb, line 33
        def initialize
          super
          @_mDistributionAnalyzer = nil
          @_mCodingSM = nil
          @_mLastChar = "\x00\x00"
        end

### Public Instance methods

feed(aBuf)

[Source]

    # File lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb, line 54
        def feed(aBuf)
          aLen = aBuf.length
          for i in (0...aLen)
            codingState = @_mCodingSM.next_state(aBuf[i..i])
            if codingState == EError
              $stderr << "#{get_charset_name} prober hit error at byte #{i}\n" if $debug
              @_mState = ENotMe
              break
            elsif codingState == EItsMe
              @_mState = EFoundIt
              break
            elsif codingState == EStart
              charLen = @_mCodingSM.get_current_charlen()
              if i == 0
                @_mLastChar[1] = aBuf[0..0]
                @_mDistributionAnalyzer.feed(@_mLastChar, charLen)
              else
                @_mDistributionAnalyzer.feed(aBuf[i-1...i+1], charLen)
              end
            end
          end
          @_mLastChar[0] = aBuf[aLen-1..aLen-1]

          if get_state() == EDetecting
            if @_mDistributionAnalyzer.got_enough_data() and (get_confidence() > SHORTCUT_THRESHOLD)
              @_mState = EFoundIt
            end
          end
          return get_state()
        end

get_charset_name()

[Source]

    # File lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb, line 51
        def get_charset_name
        end

get_confidence()

[Source]

    # File lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb, line 85
        def get_confidence
          return @_mDistributionAnalyzer.get_confidence()
        end

reset()

[Source]

    # File lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb, line 40
        def reset
          super
          if @_mCodingSM
            @_mCodingSM.reset()
          end
          if @_mDistributionAnalyzer
            @_mDistributionAnalyzer.reset()
          end
          @_mLastChar = "\x00\x00"
        end

[Validate]