Это скорее общая проблема, чем конкретная рубин, я просто делаю это в рубине. Я пытаюсь преобразовать строку в Integer/Long/Bigint или все, что вы хотите назвать, используя charset, например Base62 (0-9a-zA-Z).строка для целочисленного преобразования, опуская первый символ кодировки
Проблема в том, что я пытаюсь преобразовать строку типа «0ab» в целое число, и это целое обратно в строку, которую я получаю «ab». Это происходит с любой строкой, начинающейся с первого символа алфавита.
Вот пример реализации, который имеет ту же проблему.
https://github.com/jtzemp/base62/blob/master/lib/base62.rb
В действии:
2.1.3 :001 > require 'base62'
=> true
2.1.3 :002 > Base62.decode "0ab"
=> 2269
2.1.3 :003 > Base62.encode 2269
=> "ab"
я, возможно, отсутствует очевидное.
Как я могу преобразовать двунаправленный текст без этого исключения?
В чем вопрос? – sawa
Извините, если это было непонятно, я хочу иметь возможность конвертировать двунаправленный текст без этого исключения. – brancz
Ведущие нули отбрасываются, например. '"".to_i.to_s' возвращает' "123" ' – Stefan