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)
Source: PowerShell/PowerShell