Вы должны знать, что ByteString
действительно плохо для таких вещей, как итерации по его элементам, но лучше для Concatation и т. Д.
Если вы хотите работать с ByteStrings, вам нужно преобразовать String в ByteString, просто сделайте что-то вроде
import Data.ByteString.Lazy as B
и вставьте B
перед каждой функцией, которая работает с ними - большинство функций для String
также существует для ByteString
. Пожалуйста, обратите внимание - вы должны преобразовать используемые вами строки в ByteString с некоторыми функциями.
Если вместо этого вы используете Data.ByteString.Lazy.Char8
, вы можете легко использовать pack
, но все символы больше 255 будут усечены. Также этот тип больше подходит для двоичных данных и сейфов памяти.
Редактировать: Вам следует рассмотреть возможность использования текста пакета, если вы хотите работать с текстовыми строками. Смотрите здесь для получения более подробной информации.