Sha256: 99818fc7783b6244bde007af5922658d220df04f2b198924d9870b7b7dd2a1f5
Contents?: true
Size: 1.21 KB
Versions: 7
Compression:
Stored size: 1.21 KB
Contents
module KonoUtils ## # Classe che si occupa di decodificare una qualsiasi stringa in formato utf8, # cercando di trovare l'encoding iniziale a tentativi. class Encoder attr_accessor :string ## # * *Attributes* : # - string -> Stringa da elaborare def initialize(string) self.string = string end ## # Funcione di rimozione del carattere BOM http://en.wikipedia.org/wiki/Byte_order_mark # e encoding normale def remove_bom string_encoder.gsub("\xEF\xBB\xBF".force_encoding("UTF-8"), '') end ## # Funzione di encoding semplice def string_encoder return self.string if self.string.valid_encoding? str = self.string Encoding.list.each do |e| begin str.force_encoding(e.name) tmp_string = str.encode("UTF-8") return tmp_string if tmp_string.valid_encoding? rescue logger.debug { "Rescue -> #{e.name}" } end end impossible_encoding self.string end ## # Metodo placeholder, volendo si può estendere la funzione e sovrascrivere questa funzione # per essere notificati in caso di mancata decodifica def impossible_encoding end end end
Version data entries
7 entries across 7 versions & 1 rubygems