#27595·PowerShell

Prettily display `System.Text.Rune` instance

Author: tats-uCreated Jun 12, 2026Updated Sep 16, 2026
LabelsIssue-EnhancementWG-Interactive-ConsoleUp-for-GrabsWG-Reviewed

Summary of the new feature / enhancement

PS> [Text.Rune]65

IsAscii             : True
IsBmp               : True
Plane               : 0
Utf16SequenceLength : 1
Utf8SequenceLength  : 1
Value               : 65


PS> [char]65
A

The result of the former should contain the string A because the current display result doesn't tell you what character it represents.

i.e. it should be displayed as "A" or "A (U+0041)".

Proposed technical implementation details (optional)

PS> "{0} (U+{1:X04})" -f [Text.Rune]65, ([Text.Rune]65).Value
A (U+0041)

PS> ([Text.Rune]65).ToString()
A

PS> "{0} (U+{1:X04})" -f [Text.Rune]0x1F600, ([Text.Rune]0x1F600).Value
 (U+1F600)

PS> "{0} (U+{1:X04})" -f [Text.Rune]0x1F600, ([Text.Rune]0x1F600).Value
 (U+20BB7)