September Morn Update

This commit is contained in:
Ingy döt Net 2019-09-12 10:33:56 -07:00
parent 4e2d22a71d
commit aac6731f2c
6856 changed files with 141342 additions and 21127 deletions

View file

@ -0,0 +1,20 @@
Module CharacterLength
Function GetUTF16CodeUnitsLength(s As String) As Integer
Return s.Length
End Function
Private Function GetUTF16SurrogatePairCount(s As String) As Integer
GetUTF16SurrogatePairCount = 0
For i = 1 To s.Length - 1
If Char.IsSurrogatePair(s(i - 1), s(i)) Then GetUTF16SurrogatePairCount += 1
Next
End Function
Function GetCharacterLength_FromUTF16(s As String) As Integer
Return GetUTF16CodeUnitsLength(s) - GetUTF16SurrogatePairCount(s)
End Function
Function GetCharacterLength_FromUTF32(s As String) As Integer
Return GetByteLength(s, Text.Encoding.UTF32) \ 4
End Function
End Module