J'ai un .NET application qui essaie de ftp un fichier, mais je suis en terminant par 1 octet supplémentaire par ligne. Mon séparateur de ligne de est Environnement.De retour à la ligne, qui, je crois, se traduit par des \n\r. Combien d'octets, c'est que?
OriginalL'auteur donde | 2010-05-26
Il dépend de l'encodage. En 8-bits codages ainsi que de l'UTF-8 c'est de 2 octets. En UCS-2 et UTF-16 c'est 4 octets. Dans l'UCS-4 ou UTF-32 il est à 8 octets.
Mais le problème, c'est que vous êtes probablement via ftp en mode ASCII au lieu de l'IMAGE de mode.
Ne sont pas UCS-4 et UTF-32 est la même chose?
Pour l'instant. Mais ce n'est pas nécessaire d'être toujours le cas.
OriginalL'auteur Ignacio Vazquez-Abrams
C'est de 2 octets, mais il devrait être
\r\n
pas\n\r
sur les systèmes d'exploitation windowsOriginalL'auteur Jack
Dans le codage ASCII, \n est le caractère de Saut de ligne 0x0A (décimal 10), \r est le caractère de Retour Chariot 0x0D (décimal 13).
Comme Jack a déjà dit, la séquence correcte est la CR-LF, et non vice versa.
FTP est probablement l'ajout de LF caractères de votre flux s'ils sont placés de manière incorrecte et vous transmettre le fichier en tant que Texte.
OriginalL'auteur cdonner
Deux octets. Un pour les \n et un pour \r.
OriginalL'auteur Jeff
Pour répondre à la question implicite:
D'utiliser les binaires de transfert plutôt que de l'ascii-transfert en C#, utilisez
OriginalL'auteur BlueRaja - Danny Pflughoeft
\n\r est de 2 octets.
OriginalL'auteur Joshua
Logiciel FTP offrent généralement un binaire et un texte sur le mode de transfert. En mode texte newline la traduction se produit pendant le transfert. Cela peut être des informations valides, selon ce que votre problème et pourquoi vous avez posé la question.
OriginalL'auteur thoni56
Je sais que c'est une vieille question, mais pour le plaisir des futurs lecteurs; vous pouvez déterminer le nombre d'octets en une chaîne de caractères (ou de la chaîne de valeur) par le suivant:
Dans ce cas;
.NET utilise
Unicode
à moins d'indication contraire; par exemple avec unXmlSerializer
vous pouvez spécifier l'encodage.N'oubliez pas d'utiliser le codage approprié lorsque vous essayez de compter le nombre d'octets depuis elle est différente à chaque encodage:
OriginalL'auteur PerpetualJ