I was not expecting, or wanting, escape sequences in the output. The first line of output is:
0000000000000000 1B 5B 33 32 3B 31 6D 4C 6F 63 61 6C 41 64 64 72 �[32;1mLocalAddr
PS C:\src\t> Get-NetTCPConnection | Where-Object { $_.State -eq 'Established' } | Out-File -FilePath '.\task3.txt' -Encoding ascii
PS C:\src\t> Get-Content .\task3.txt -first 2 | Format-Hex
Label: String (System.String) <5F8755A9>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 1B 5B 33 32 3B 31 6D 4C 6F 63 61 6C 41 64 64 72 �[32;1mLocalAddr
0000000000000010 65 73 73 20 20 20 20 20 20 20 20 20 20 20 20 20 ess
0000000000000020 20 20 20 20 20 20 20 20 20 20 20 4C 6F 63 61 6C Local
0000000000000030 50 6F 72 74 20 52 65 6D 6F 74 65 41 64 64 72 65 Port RemoteAddre
0000000000000040 73 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ss
0000000000000050 20 20 20 20 20 20 20 20 20 52 65 6D 6F 74 65 50 RemoteP
0000000000000060 6F 72 74 20 53 74 61 74 65 20 20 20 20 20 20 20 ort State
0000000000000070 41 70 70 6C 69 65 64 53 65 74 74 69 6E 67 20 4F AppliedSetting O
0000000000000080 77 6E 69 6E 67 50 72 6F 63 65 73 73 1B 5B 30 6D wningProcess**�[0m**
I note that it does not appear in the output of Get-ChildItem.
PS C:\src\t> dir *.g* | Out-File -FilePath '.\task5.txt' -Encoding ascii
PS C:\src\t> Get-Content -Path '.\task5.txt' -First 2 | Format-Hex
Label: String (System.String) <5A0214B6>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 20 20 20 20 44 69 72 65 63 74 6F 72 79 3A 20 43 Directory: C
0000000000000010 3A 5C 73 72 63 5C 74 :\src\t