Syntax error Haskell Program to Convert String value to byte Value

Haskell Program to Convert String value to byte Value



In Haskell, we will convert String Value to Byte value by using ord , B.pack and fromNum functions. In the first example, we are going to use (stringToBytes = map ord ) function and in the second example, we are going to call (stringToBytes = B.pack) function. And in the third example, we are going to use (byteList = map fromEnum str) function.

Algorithm

  • Step 1 ? The Data.Char module is imported.

  • Step 2 ? The stringToBytes function is defined using ord function as,

  • Step 3 ? The program execution will be started from main function. The main() function has whole control of the program. It is written as main = do.

  • Step 4 ? The variable named, ?str' is defined that will hold the String that is to be converted to byte.

  • Step 5 ? The resultant byte value corresponding to the string value is printed to the console, once the function is being called.

Example 1

In this example, string value is converted to byte value using ord function.

import Data.Char (ord)

stringToBytes :: String -> [Int]
stringToBytes = map ord

main :: IO ()
main = do
  let str = "hello"
      bytes = stringToBytes str
  print bytes

Output

[1 of 1] Compiling Main             ( main.hs, main.o )
Linking main ...
[104,101,108,108,111]

Example 2

In this example, string value is converted to byte value using B.pack function.

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

Output

[1 of 1] Compiling Main             ( main.hs, main.o )
Linking main ...
hello

Example 3

In this example, string value is converted to byte value using B.pack function.

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

Output

[1 of 1] Compiling Main             ( main.hs, main.o )
Linking main ...
String: hello world
ByteString: "hello world"

Example 4

In this example, string value is converted to byte value using B.pack function.

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

Output

[1 of 1] Compiling Main             ( main.hs, main.o )
Linking main ...
String: hello world
ByteList: "hello world"

Example 5

In this example, string value is converted to byte value using fromEnum function.

import Data.List (map)

main :: IO ()
main = do
  let str = "hello world"
      byteList = map fromEnum str
  putStrLn $ "String: " ++ str
  putStrLn $ "ByteList: " ++ show byteList

Output

[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]

Conclusion

String value to byte value conversion in Haskell is the process of converting a sequence of characters represented as a string into a sequence of bytes. In Haskell, strings are represented as sequences of characters, while bytes are represented as sequences of numeric values in the range 0-255 that represent the values of individual bytes.

Updated on: 2023-03-28T15:21:13+05:30

371 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements