IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Vérifier si je ne dépasse pas les 4Mo dans mon String [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Par défaut Vérifier si je ne dépasse pas les 4Mo dans mon String
    Bonjour,

    Je ne dois pas dépasser 4Mo dans un String, pour un caractère correspond deux bytes

    Je teste donc en faisant simplement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                    if (Content.Length >= 2000000)
                    {
                      _ok = false;
                    }
    Est-ce correct ou avez-vous une autre solution ?

    D'avance merci

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    alors deux soucis :
    - 4Mo != 4 000 000 (en fait ça ça vaut 4 194 304),
    - si tu as un encodage en UTF-8 un caractère n'est pas de taille fixe : il peut faire 1 à 4 octets.

    Bon dev.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Par défaut
    C'est du utf-16 que je stocke dans mon String.

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    - 4Mo != 4 000 000 (en fait ça ça vaut 4 194 304)
    4Mo vaut bien 4 millions
    c'est 4 Mio qui vaut 4 194 304



    Citation Envoyé par jacko842 Voir le message
    C'est du utf-16 que je stocke dans mon String.
    utf 16 je crois que c'est 2 ou 4 octets par caractère
    donc si tu veux que les octets de ton string ne dépasse pas tant, je pense qu'il va falloir que tu le convertisses d'abord (system.text.encodingje sais plus quoi?.getbytes(str=)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 38
    Par défaut
    Alors pour les vieux comme moi 4Mo est différent de 4 000 000 octets. Mais depuis quelques années, les jeunes aprennent 1ko = 1000o et 1Kibi octet = 1024 o...

    Donc 4 000 000, c'est ok.

    Ensuite le .Length donne la taille de la chaîne de caractères et non le nombre d'octets que celle-ci prend. Ce devrait être indépendant de l'encodage.

  6. #6
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    4Mo vaut bien 4 millions
    c'est 4 Mio qui vaut 4 194 304
    Ça, ce sera sans moi ...
    Et j'espère que pour savoir si ces 4Mo ne sont pas dépassés, l'OP ne demandera pas à l'explorer de Zindozs.

  7. #7
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Ça, ce sera sans moi ...
    moi aussi quand j'ai entendu ça il y a quelques années, sur le coup je me suis que ca serait peut etre sans moi
    mais en réfléchissant 2 secondes, c'est ceux qui ont dit que ca serait 1024 qui avaient fumé
    sinon après chacun fait ce qu'il veut et un kg pourrait valoir 1005 grammes, un MW pourrait être 996000 W etc...

    k M G et autres sont des normes, autant revenir dessus pour nos octets
    et ca nous apporte quoi qu'un kio fasse 1024o ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Physiquement la mémoire est toujours basée sur des paquets de 2n.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Xampp ne connait pas les commandes dans mon script
    Par gabier dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 07/12/2015, 20h04
  2. Réponses: 11
    Dernier message: 10/05/2012, 22h58
  3. Je trouve pas les .class dans mon dossier classes
    Par amine84 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 15/12/2007, 14h26
  4. j'ai pas les icones de mon bureau soudainement
    Par StyleXP dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 26/03/2006, 15h09
  5. Réponses: 2
    Dernier message: 19/02/2006, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo