Haskell程序:将字符串值转换为字节值
在Haskell中,我们将使用`ord`、`B.pack`和`fromNum`函数将字符串值转换为字节值。在第一个示例中,我们将使用`(stringToBytes = map ord)`函数;在第二个示例中,我们将调用`(stringToBytes = B.pack)`函数;在第三个示例中,我们将使用`(byteList = map fromEnum str)`函数。
算法
步骤1 − 导入`Data.Char`模块。
步骤2 − 使用`ord`函数定义`stringToBytes`函数,如下所示:
步骤3 − 程序执行将从`main`函数开始。`main()`函数控制整个程序的执行。它被编写为`main = do`。
步骤4 − 定义名为“str”的变量,该变量将保存要转换为字节的字符串。
步骤5 − 函数调用后,将相应于字符串值的最终字节值打印到控制台。
示例1
在这个示例中,使用`ord`函数将字符串值转换为字节值。
import Data.Char (ord) stringToBytes :: String -> [Int] stringToBytes = map ord main :: IO () main = do let str = "hello" bytes = stringToBytes str print bytes
输出
[1 of 1] Compiling Main ( main.hs, main.o ) Linking main ... [104,101,108,108,111]
示例2
在这个示例中,使用`B.pack`函数将字符串值转换为字节值。
import qualified Data.ByteString.Char8 as B stringToBytes :: String -> B.ByteString stringToBytes = B.pack main :: IO () main = do let str = "hello" bytes = stringToBytes str B.putStrLn bytes
输出
[1 of 1] Compiling Main ( main.hs, main.o ) Linking main ... hello
示例3
在这个示例中,使用`B.pack`函数将字符串值转换为字节值。
import qualified Data.ByteString.Char8 as B main :: IO () main = do let str = "hello world" byteStr = B.pack str putStrLn $ "String: " ++ str putStrLn $ "ByteString: " ++ show byteStr
输出
[1 of 1] Compiling Main ( main.hs, main.o ) Linking main ... String: hello world ByteString: "hello world"
示例4
在这个示例中,使用`B.pack`函数将字符串值转换为字节值。
import qualified Data.ByteString.Char8 as B main :: IO () main = do let str = "hello world" byteStr = B.pack str byteList = B.unpack byteStr putStrLn $ "String: " ++ str putStrLn $ "ByteList: " ++ show byteList
输出
[1 of 1] Compiling Main ( main.hs, main.o ) Linking main ... String: hello world ByteList: "hello world"
示例5
在这个示例中,使用`fromEnum`函数将字符串值转换为字节值。
import Data.List (map) main :: IO () main = do let str = "hello world" byteList = map fromEnum str putStrLn $ "String: " ++ str putStrLn $ "ByteList: " ++ show byteList
输出
[1 of 1] Compiling Main ( main.hs, main.o ) Linking main ... String: hello world ByteList: [104,101,108,108,111,32,119,111,114,108,100]
结论
在Haskell中,将字符串值转换为字节值是将表示为字符串的字符序列转换为字节序列的过程。在Haskell中,字符串表示为字符序列,而字节表示为0-255范围内的数值序列,表示单个字节的值。
广告