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

ASP.NET Discussion :

Nombre maximun de caractères dans uns String


Sujet :

ASP.NET

  1. #1
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 42
    Par défaut Nombre maximun de caractères dans uns String
    Bonjour,

    quelqu'un pourrait-il me donner le nombre maximum de caractères que je peux utiliser dans une variable de type String en VB.Net?

    Merci d'avance.

  2. #2
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    2 147 483 647

  3. #3
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 42
    Par défaut
    Apparemment non, je suis bloqué au bout d'environ 1000 caractères.

  4. #4
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    C'est à dire, comment est ce que tu le constates?

  5. #5
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par djdada Voir le message
    Apparemment non, je suis bloqué au bout d'environ 1000 caractères.
    A mon avis, c'est ton champ de saisie qui ne te permet pas de saisir plus de 1000 caractères.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  6. #6
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Heu,désolé de m'introduire sans apporter de solution mais j'ai une question pour Neptune : tu le trouve où ce nombre de caractère ?

    Parce que ça fait beaucoup quand même.

    Ce n'est que de la curiosité pour augmenter ma culture informatique

  7. #7
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Tout bêtement (tiré de la MSDN) :
    String..::.Length Property
    Property Value
    Type: System..::.Int32

    The number of characters in this instance.
    La taille max d'un int étant Int32.MaxValue, suffit de trouver la valeur de MaxValue que la MSDN nous donne aussi.

    Dans la pratique, tu seras plus vite limité par la mémoire disponible.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  8. #8
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    La propriété Length de String renvoie un int, donc le nombre que j'ai cité n'est autre que la valeur maximale qu'un int peut stocker (Int32.Max). De plus, le constructeur de StringBuilder accepte également un int comme capacité de départ.

    Ce sont les deux premiers indices. Ensuite, c'est lié à l'architecture (cfr. mémoire, pointeurs, etc.)

    EDIT: mince, le saumon fût plus agile que moi...

  9. #9
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 42
    Par défaut
    En fait je viens de voir que ce n'est pas le string qui pose problème. Mais la classe System.web.mail.

    En effet, je passe bien tout le body de mon mail dans la string (j'ai vérifié, tout est là) et c'est après que l'overflow se produit.

    Je vous donne la solution de ce problème dès que je la trouve (je suis en train d'essayer la classe System.Net.Mail.MailMessage pour voir si cela résout le problème).

    Merci à tous,

    djdada
    http://beuvangeblog.blogspot.com

  10. #10
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Alors là par contre, je peux t'aider.
    J'ai fais un truc qui envoi des mail tout seul, sous forme de srvice Windows.
    Les mails sont préparer par plein d'aplications et stocker dans une BDD et puis le service les prends par tranche de 25 000 par quart d'heure pour les envoyer (c'est notre capacité d'envoi max, aprés on sature notre tuyaux et vu qu'on est aussi hébergeur.....)

    Donc le System.Net.Maill.Message peux prendre beaucoup plus de 1000 caractères dans le body. Les plupart des mails que j'envoi font plus de 8000 car j'ai été obligé de faire une champ Texte dans la base, le VarChar(8000) était trop petit.

    Sauf erreur de ma part, la classe System.Web.Mail est obsolète avec le FrameWork 2.0, non ?

  11. #11
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci Saumon et Neptune, on pourra continuer le concours d'agilité, j'en ai d'autres des questions comme ça.

    Mais ça fait un paquet de caractère pour la String tout de même, je me demande s'il y une bécane capable de gérer une variable pareille.

  12. #12
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Alors là par contre, je peux t'aider.
    J'ai fais un truc qui envoi des mail tout seul, sous forme de srvice Windows.
    Les mails sont préparer par plein d'aplications et stocker dans une BDD et puis le service les prends par tranche de 25 000 par quart d'heure pour les envoyer (c'est notre capacité d'envoi max, aprés on sature notre tuyaux et vu qu'on est aussi hébergeur.....)
    Tiens, on a découvert un de ces gars qui nous ennuie avec ces spams... :-D

    Citation Envoyé par zooffy Voir le message
    Mais ça fait un paquet de caractère pour la String tout de même, je me demande s'il y une bécane capable de gérer une variable pareille.
    bah ca que fait 2 go...

  13. #13
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 42
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Alors là par contre, je peux t'aider.
    J'ai fais un truc qui envoi des mail tout seul, sous forme de srvice Windows.
    Les mails sont préparer par plein d'aplications et stocker dans une BDD et puis le service les prends par tranche de 25 000 par quart d'heure pour les envoyer (c'est notre capacité d'envoi max, aprés on sature notre tuyaux et vu qu'on est aussi hébergeur.....)

    Donc le System.Net.Maill.Message peux prendre beaucoup plus de 1000 caractères dans le body. Les plupart des mails que j'envoi font plus de 8000 car j'ai été obligé de faire une champ Texte dans la base, le VarChar(8000) était trop petit.

    Sauf erreur de ma part, la classe System.Web.Mail est obsolète avec le FrameWork 2.0, non ?
    Tout juste Zoofy.

    Je suis passé de System.Web.Mail à System.net.Mailmessage est le problème est résolu depuis.

    Merci à tous pour vos réponses et bon week-end,

    djdada
    http://beuvangeblog.blogspot.com

  14. #14
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par neptune Voir le message
    bah ca que fait 2 go...
    Que nenni petit homme, n'oublie pas que c'est de l'Unicode UTF-16 (la plupart des caractères sont représentés sur 16 bits). Ce qui potentiellement nous amène déjà au double.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  15. #15
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par djdada Voir le message
    Merci à tous pour vos réponses et bon week-end,
    N'oublie pas de cliquer sur
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  16. #16
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    [QUOTE=neptune;3118993]Tiens, on a découvert un de ces gars qui nous ennuie avec ces spams... :-D

    Rho, le méchant, c'est même pas vrai, ce n'est que des mails publicitaires envoyé à des gens inscrit pour ça.

    En fait, ils sont un peu sado maso et ils imaginent qu'ils vont gagner un peu de blé avec ça.

  17. #17
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Que nenni petit homme, n'oublie pas que c'est de l'Unicode UTF-16 (la plupart des caractères sont représentés sur 16 bits). Ce qui potentiellement nous amène déjà au double.
    Extrait MSDN

    The Length property returns the number of Char objects in this instance, not the number of Unicode characters. The reason is that a Unicode character might be represented by more than one Char. Use the System.Globalization.StringInfo class to work with each Unicode character instead of each Char.

  18. #18
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par neptune Voir le message
    Extrait MSDN
    C'est bien ce que je te disais, la taille en mémoire n'a rien à voir avec le nombre de caractères. Donc 2g caractères (au maximum) peuvent prendre en mémoire bien plus que 2 go.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  19. #19
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Oui oui, j'avais bien compris ;-) Je confirmais par ce que j'ai lu dans MSDN.

Discussions similaires

  1. Nombre de caractère dans un string
    Par splash68 dans le forum Débuter
    Réponses: 5
    Dernier message: 16/03/2010, 11h27
  2. [C#]Détecter certain caractère dans un string
    Par grimsk dans le forum Windows Forms
    Réponses: 2
    Dernier message: 31/08/2006, 14h52
  3. [String] trouver caractère dans un string
    Par mariemor64 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 05/05/2006, 17h14
  4. Réponses: 3
    Dernier message: 24/10/2005, 16h59
  5. [VBA] Un caractère dans un string
    Par Neilos dans le forum Access
    Réponses: 5
    Dernier message: 23/06/2005, 14h58

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