---
title: "init(bytes:encoding:)"
framework: swift
role: symbol
role_heading: Initializer
path: "swift/string/init(bytes:encoding:)"
---

# init(bytes:encoding:)

Creates a new string equivalent to the given bytes interpreted in the specified encoding. Note: This API does not interpret embedded nulls as termination of the string. Use String?(validatingCString:) instead for null-terminated C strings.

## Declaration

```swift
init?<S>(bytes: S, encoding: String.Encoding) where S : Sequence, S.Element == UInt8
```

## Parameters

- `bytes`: A sequence of bytes to interpret using encoding.
- `encoding`: The encoding to use to interpret bytes.

## See Also

### Converting a C String

- [init(bytesNoCopy:length:encoding:freeWhenDone:)](swift/string/init(bytesnocopy:length:encoding:freewhendone:).md)
- [init(validatingCString:)](swift/string/init(validatingcstring:)-992vo.md)
- [init(validatingCString:)](swift/string/init(validatingcstring:)-98wra.md)
- [init(cString:)](swift/string/init(cstring:)-2p84k.md)
- [init(cString:)](swift/string/init(cstring:)-6kr8s.md)
- [init(cString:encoding:)](swift/string/init(cstring:encoding:)-3h7bc.md)
- [init(cString:encoding:)](swift/string/init(cstring:encoding:)-3qgzd.md)
- [init(decodingCString:as:)](swift/string/init(decodingcstring:as:)-8way7.md)
- [decodeCString(_:as:repairingInvalidCodeUnits:)](swift/string/decodecstring(_:as:repairinginvalidcodeunits:)-46n2p.md)
