---
title: UTF8Span.UnicodeScalarIterator
framework: swift
role: symbol
role_heading: Structure
path: swift/utf8span/unicodescalariterator
---

# UTF8Span.UnicodeScalarIterator

Iterate the Unicode.Scalars contents of a UTF8Span.

## Declaration

```swift
@frozen struct UnicodeScalarIterator
```

## Overview

Overview func printScalarValues(_ string: borrowing String) {     var iterator = string.utf8Span.makeUnicodeScalarIterator()     while let scalar = iterator.next() {         print(scalar.escaped(asASCII: true))     } }

let string = "A🎉" printScalarValues(string) // Prints "A" // Prints "\u{0001F389}"

## Topics

### Initializers

- [init(_:)](swift/utf8span/unicodescalariterator/init(_:).md)

### Instance Properties

- [codeUnits](swift/utf8span/unicodescalariterator/codeunits.md)
- [currentCodeUnitOffset](swift/utf8span/unicodescalariterator/currentcodeunitoffset.md)

### Instance Methods

- [next()](swift/utf8span/unicodescalariterator/next().md)
- [prefix()](swift/utf8span/unicodescalariterator/prefix().md)
- [previous()](swift/utf8span/unicodescalariterator/previous().md)
- [reset(roundingBackwardsFrom:)](swift/utf8span/unicodescalariterator/reset(roundingbackwardsfrom:).md)
- [reset(roundingForwardsFrom:)](swift/utf8span/unicodescalariterator/reset(roundingforwardsfrom:).md)
- [reset(toUnchecked:)](swift/utf8span/unicodescalariterator/reset(tounchecked:).md)
- [skipBack()](swift/utf8span/unicodescalariterator/skipback().md)
- [skipBack(by:)](swift/utf8span/unicodescalariterator/skipback(by:).md)
- [skipForward()](swift/utf8span/unicodescalariterator/skipforward().md)
- [skipForward(by:)](swift/utf8span/unicodescalariterator/skipforward(by:).md)
- [suffix()](swift/utf8span/unicodescalariterator/suffix().md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Copyable](swift/copyable.md)
