PowerShell - "ss" -eq "ß" - ergibt True
Wie der Betreff schon sagt: In PowerShell ergibt
$True
Wie kann man das korrekt (und einfach) vergleichen?
Ich helfe mir jetzt aus mit:
aber das kann doch nicht die Lösung sein.
E.
"ss" -eq "ß"
Wie kann man das korrekt (und einfach) vergleichen?
Ich helfe mir jetzt aus mit:
$Text1 = "Wort mit ss."
$Text2 = "Wort mit ß."
$Text1.Replace($Text2,"") -eq ""
E.
Please also mark the comments that contributed to the solution of the article
Content-ID: 668378
Url: https://administrator.de/contentid/668378
Printed on: October 15, 2024 at 15:10 o'clock
5 Comments
Latest comment
Ein einfacher Weg ist mir nicht bekannt.
Ich kenne nur die Umrechnung in Bytes und dann den Vergleich dessen..
Man könnte sich natürlich ne Funktion bauen, die den Vergleich übernimmt.
Powershell's -eq berücksichtigt irgendwelche Unicode-Normalisierungen :/
Ich kenne nur die Umrechnung in Bytes und dann den Vergleich dessen..
$bytes1 = [System.Text.Encoding]::UTF8.GetBytes("ss")
$bytes2 = [System.Text.Encoding]::UTF8.GetBytes("ß")
# Vergleiche die Länge
if ($bytes1.Length -ne $bytes2.Length) {
$isEqual = $false
} else {
# Vergleiche die Bytes ansich
$isEqual = $true
for ($i = 0; $i -lt $bytes1.Length; $i++) {
if ($bytes1[$i] -ne $bytes2[$i]) {
$isEqual = $false
break
}
}
}
$isEqual
Man könnte sich natürlich ne Funktion bauen, die den Vergleich übernimmt.
Powershell's -eq berücksichtigt irgendwelche Unicode-Normalisierungen :/