我依稀記得有一個Haskell文本型別的文本轉換表,但我已經找不到了。
如何轉換來做Data.Text.Internal.Text -> Data.ByteString.Lazy.ByteString的轉換?遺憾的是,Hoogle沒有顯示任何結果。
uj5u.com熱心網友回復:
Text的元素是Char,它們是unicode的代碼點。 ByteString的元素是8位的字。 因此,為了將Text轉換為ByteString,我們將需要選擇一個編碼。 這幾乎總是UTF-8,因此encodeUtf8:
% ghci
> :m Data.Text。
> :m Data.Text.Encoding.
> :m Data.ByteString.Lazy.
> let t = Data.ByteString.Lazy。 fromStrict (encodeUtf8 (Data.Text.pack "Qi Baishi 齊白石" /span>)
> t
"齊白石 233189138231153189231159179"。
uj5u.com熱心網友回復:
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as BL
import qualified Data.Text.Lazy as TL
import qualified Data.Text.Lazy.Encoding as TL
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
f1 :: T.Text -> TL.Text ->
f1 = TL.fromStrict
f2 :: TL.Text -> BL.ByteString
f2 = TL.encodeUtf8
f3 :: T.Text -> BL.ByteString
f3 = f2 . f1
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/316959.html
標籤:
