OK, sometimes I really find odd ways to occupy my time. So, I’m sitting at LAX for a two hour layover and I start working on improving the transcripts that I make while teaching PowerShell. I’m looking for a separator character for my prompt and discover something amazing. The ISE has something like 55,291 characters. Not all of them are displayable. I’ve found myself trying to get a special ASCII character to many times. Time to code it. The help files says it all. I added this to one of my modules so I always have it.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
| Function Get-ASCII { <# .SYNOPSIS Returns an ASCII Character
.DESCRIPTION Returns a single, or multiple standard and non-standard ASCII characters.
.PARAMETER INT One or more integers, separated by a comma, that you want to return the ASCII characters for.
.PARAMETER List Allows you to list ASCII characters to the supplied integer or a range of ASCII characters by specifying a range separated by a comma.
.PARAMETER ListAll This will list all ASCII values from zero to 65535 for the ISE and zero to 2000 for the console.
.EXAMPLE Get-ASCII 60, 72, 81
Value Index ----- ----- < 60 H 72 Q 81
Returns the ASCII Character for values 60, 72, and 81
.EXAMPLE Get-ASCII 415 | Select-Object -ExpandProperty Value
Ɵ
Returns the Theta character which is the Theta character in this case.
.EXAMPLE Get-ASCII -List 50
List the first 50 ASCII characters.
.EXAMPLE Get-ASCII -List 123-543
List all the ASCII Characters from 123 to 543.
.EXAMPLE Get-ASCII -ListAll
List all ASCII characters from 0 to 65535.
.NOTES =============================================================================== == Cmdlet: Get-ASCII == == Author: Jason A. Yoder == == Company: MCTExpert of Arizona == == Date: June 1, 2014 == == Copyright: All rights reserved. == == Version: 1.0.0.0 == == Legal: The user assumes all responsibility and liability for the usage of == == this PowerShell code. MCTExpert of Arizona, Its officers, shareholders, == == owners, and their relatives are not liable for any damages. As with all == == code, review it and understand it prior to usage. It is recommended that == == this code be fully tested and validated in a test environment prior to == == usage in a production environment. == == == == Does this code make changes: NO == =============================================================================== #> [CmdletBinding()] Param( [parameter(ParameterSetName="Int", Position=0)] [ValidateRange(0,65535)] [Int[]] $Int,
[parameter(ParameterSetName="ListAll")] [Switch] $ListAll,
[parameter(ParameterSetName="List")] [ValidateCount(1,2)] [ValidateRange(0,65535)] [Int[]] $List ) If ($Int) { ForEach ($I in $Int) { $Obj = New-Object -TypeName PSObject -Property @{ 'Index' = $I 'Value' = [Char]$I } Write-Output $Obj } } ElseIF ($ListAll) { # Limit the number of objects returned based on if the # code is ran in the console or the ISE. $Max = $null If ($Host.Name -like "*Console*") {$Max = 2000} ElseIf ($Host.Name -like "*ISE*") {$Max = 65535}
For ($X=0;$X-lt $Max;$X++) { $Obj = New-Object -TypeName PSObject -Property @{ 'Index' = $X 'Value' = [Char]$X } Write-Output $Obj }
} ElseIf ($List.Count -eq 1) { For ($X=0;$X-lt $List[0];$X++) { $Obj = New-Object -TypeName PSObject -Property @{ 'Index' = $X 'Value' = [Char]$X } Write-Output $Obj } } ElseIf ($List.Count -eq 2) { For ($X=$List[0];$X-lt $List[1];$X++) { $Obj = New-Object -TypeName PSObject -Property @{ 'Index' = $X 'Value' = [Char]$X } Write-Output $Obj } } } # End: Function Get-ASCII
|
Comments