J'ai un byte[]
qui est chargé à partir d'un fichier dont je sais par hasard qu'il contient UTF-8 .
Dans un code de débogage, j'ai besoin de le convertir en chaîne. Existe-t-il un langage unique qui permette de le faire ?
Sous les couvertures, il devrait y avoir juste une allocation et une memcopy Ainsi, même si elle n'est pas mise en œuvre, elle devrait être possible.
7 votes
"devrait être juste une allocation et un memcopy" : n'est pas correct parce qu'une chaîne .NET est encodée en UTF-16. Un caractère Unicode peut être une unité de code UTF-8 ou une unité de code UTF-16. Un autre peut être deux unités de code UTF-8 ou une unité de code UTF-16, un autre peut être trois unités de code UTF-8 ou une unité de code UTF-16, un autre peut être quatre unités de code UTF-8 ou deux unités de code UTF-16. Un memcopy pourrait être capable d'élargir mais il ne serait pas capable de gérer la conversion UTF-8 vers UTF-16.