# Bytes and String in Solidity **Published by:** [Hicss](https://paragraph.com/@freesuton/) **Published on:** 2023-03-11 **URL:** https://paragraph.com/@freesuton/bytes-and-string-in-solidity ## Content 1. If we know the size of the bytes we want to store, the best approach is to use the fixed size byte array type To initialize a fixed size byte array, we need to specify the size of how many bytes we would like to store.bytes1 b1 = hex"41"; Bytes can be initialized with either a hex string hex"41" or a hex value 0X41 which is the letter A according to ASCII. 2. Fixed size bytes can be passed between smart contracts in the Solidity programming language. 3.bytes and bytes32 Bytes is a dynamic array of bytes. It's shorthand for byte[] and you'll see examples of a bytes being treated as an array in code from time to time. myByte[x]. It can have a length of zero and you can do things like append a byte to the end. Bytes32 is exactly 32 bytes long. It takes exactly one 32-byte word to represent a bytes32 because there's no need to set any space aside to encode the length. The length is always 32. A bytes with 32 bytes of data needs additional encoding to deal with variable length. 4.Converting to bytes Converting a string to bytes is a straightforward task. We need to initialize bytes passing in the string type. In return, we get a dynamic array of bytes.bytes memory stringBytes = bytes("This is string"); If we want to convert to the bytes32 type, we need to go to the assembly level and write the string on the memory.bytes32 result; assembly { result := mload(add("This is string", 32)) } Keep in mind that we can write only up to 32 bytes. 5.Converting from bytes In Solidity language, we can convert back the string value to a dynamic size array of bytes. We can’t convert to fixed string bytes because the string type has an unknown size.bytes memory bytesData = hex"41"; string memory stringData = string(bytesData); ## Publication Information - [Hicss](https://paragraph.com/@freesuton/): Publication homepage - [All Posts](https://paragraph.com/@freesuton/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@freesuton): Subscribe to updates - [Twitter](https://twitter.com/freesuton): Follow on Twitter