fixmint
EL

Χαρακτήρες με ή χωρίς κενά: ποια μέτρηση χρησιμοποιεί μια φόρμα

Από · · ενημερώθηκε 8 Νοεμβρίου 2026 · 4 λεπτά ανάγνωση

Μια φόρμα, μια πύλη βιογραφικών, ένα SMS ή μια ανάρτηση στα social media μετράνε τους χαρακτήρες με έναν από δύο τρόπους: με κενά ή χωρίς κενά. Διαβάστε πρώτα την ετικέτα ή το κείμενο βοήθειας του πεδίου, επειδή συχνά αναφέρει ποιον τρόπο χρησιμοποιεί. Αν δεν αναφέρει κανέναν, χρησιμοποιήστε τη αυστηρότερη μέτρηση, που είναι συνήθως αυτή χωρίς κενά. Τα emoji και ορισμένα τονούμενα γράμματα μπορούν επίσης να μετρηθούν ως περισσότεροι από έναν χαρακτήρες σε συστήματα που μετρούν το κείμενο σε μονάδες κώδικα ή σε bytes. Έτσι ένα κείμενο μπορεί να περάσει σε έναν μετρητή και να αποτύχει σε έναν άλλο. Μετρήστε με εργαλείο που ακολουθεί τον ίδιο κανόνα με τη φόρμα.

Μετρητής λέξεωνΞεπερνά το κείμενό μου το όριο;Κάντε το δωρεάν

Με κενά ή χωρίς κενά

  • Με κενά μετράει κάθε χαρακτήρα που πληκτρολογείτε, συμπεριλαμβανομένου κάθε κενού, ως έναν χαρακτήρα.
  • Χωρίς κενά αφαιρεί όλους τους χαρακτήρες διαστήματος πριν από τη μέτρηση, οπότε οι λέξεις ενώνονται. Η ένδειξη χωρίς κενά του μετρητή λέξεων αφαιρεί κάθε χαρακτήρα διαστήματος, συμπεριλαμβανομένων των αλλαγών γραμμής, των στηλοθετών (tab) και των μη θραυόμενων κενών, και μετράει ό,τι μένει.

Η φράση «Hello world» έχει 11 χαρακτήρες με το κενό της και 10 χωρίς αυτό. Ένα πεδίο που ζητά χαρακτήρες χωρίς κενά θέλει τον δεύτερο αριθμό.

Γιατί ένα emoji μπορεί να μετράει ως δύο

Το κείμενο έχει δύο είδη μήκους. Το πρώτο είναι αυτό που βλέπει ο άνθρωπος: μια ομάδα γραφημάτων (grapheme cluster), δηλαδή ένας ορατός χαρακτήρας, ακόμη και όταν τον αποτελούν πολλά σημεία κώδικα (code points). Το δεύτερο είναι αυτό που αποθηκεύει ο υπολογιστής. Το μήκος συμβολοσειράς στην JavaScript, όπως και σε πολλά παλαιότερα συστήματα, μετράει μονάδες κώδικα UTF-16. Τα περισσότερα γράμματα χρησιμοποιούν μία μονάδα, αλλά οι χαρακτήρες εκτός του Basic Multilingual Plane, συμπεριλαμβανομένων πολλών emoji, χρησιμοποιούν δύο. Το emoji με τον αντίχειρα προς τα πάνω, U+1F44D, μοιάζει με έναν χαρακτήρα αλλά αποτελείται από δύο μονάδες UTF-16, οπότε ένας μετρητής που χρησιμοποιεί μονάδες κώδικα δείχνει 2.

Ο μετρητής λέξεων εδώ μετράει ορατούς χαρακτήρες, οπότε το emoji με τον αντίχειρα μετράει 1. Ένα οικογενειακό emoji επίσης μετράει 1, παρότι αποτελείται από αρκετά σημεία κώδικα ενωμένα με συνδέσμους μηδενικού πλάτους (zero-width joiner). Μια φόρμα που μετράει μονάδες κώδικα θα δείξει περισσότερους, και η διαφορά μεγαλώνει με κάθε emoji στο κείμενο.

Τονούμενα γράμματα

Το γράμμα «é» μπορεί να αποθηκευτεί με δύο τρόπους. Ως ένα σημείο κώδικα, U+00E9, είναι μία μονάδα παντού. Ως το γράμμα e ακολουθούμενο από τον συνδυαστικό οξεία τόνο, U+0301, είναι δύο σημεία κώδικα και δύο μονάδες. Και οι δύο μορφές φαίνονται ίδιες στην οθόνη. Ένας μετρητής που μετράει σημεία κώδικα ή μονάδες δίνει 2 για τη δεύτερη μορφή, ενώ ο μετρητής λέξεων δίνει 1 και για τις δύο.

Τα όρια σε bytes προσθέτουν μια ακόμη διαφορά. Στο UTF-8, το «é» καταλαμβάνει δύο bytes και τα περισσότερα emoji τέσσερα. Ένα πεδίο με όριο bytes μπορεί να χωρέσει λιγότερα τονούμενα γράμματα ή emoji από όσα δείχνει η μέτρηση χαρακτήρων. Ο μετρητής λέξεων δεν εμφανίζει bytes, γι' αυτό υπολογίστε τα χωριστά.

Αλλαγές γραμμής και αόρατοι χαρακτήρες

Μια αλλαγή γραμμής είναι ένας χαρακτήρας στο πλαίσιο κειμένου. Πολλά συστήματα αποθηκεύουν την αλλαγή γραμμής των Windows ως δύο χαρακτήρες, την επιστροφή μεταφοράς (carriage return) και την αλλαγή γραμμής (line feed), και οι υποβολές φορμών στον ιστό στέλνουν τις αλλαγές γραμμής με αυτόν τον τρόπο. Μια μέτρηση που γίνεται στον διακομιστή μπορεί επομένως να είναι μεγαλύτερη από ό,τι δείχνει το πλαίσιο, κατά έναν για κάθε αλλαγή γραμμής. Μετρήστε το κείμενο όπως θα υποβληθεί, όχι μόνο όπως το πληκτρολογήσατε.

Τα κενά μηδενικού πλάτους συμπεριφέρονται διαφορετικά. Η μέτρηση χωρίς κενά δεν τα θεωρεί κενά, οπότε μένουν μέσα στον αριθμό και τον φουσκώνουν. Αρχικά αφαιρέστε τους αόρατους χαρακτήρες. Αυτό το εργαλείο κρατά τους στηλοθέτες και τις αλλαγές γραμμής και μετατρέπει τα μη θραυόμενα κενά σε κανονικά κενά, τα οποία η μέτρηση χωρίς κενά στη συνέχεια αφαιρεί. Ο οδηγός για τους αόρατους χαρακτήρες εξηγεί από πού προέρχονται αυτοί οι χαρακτήρες.

Ένα κείμενο, πέντε μετρήσεις

Πάρτε τη λέξη «Café», ένα κενό και ένα emoji με τον αντίχειρα προς τα πάνω, U+1F44D, με το «é» αποθηκευμένο ως ένα σημείο κώδικα. Διαφορετικά μέτρα δίνουν διαφορετικά σύνολα:

ΜέτροΑριθμός
Ορατοί χαρακτήρες, με κενά (ο μετρητής λέξεων)6
Σημεία κώδικα6
Μονάδες κώδικα UTF-16 (το length της JavaScript)7
Bytes UTF-810
Ορατοί χαρακτήρες, χωρίς κενά (ο μετρητής λέξεων)5

Κάθε σύνολο είναι σωστό για το δικό του μέτρο. Η φόρμα αποφασίζει ποιο μέτρο ισχύει, γι' αυτό ο κανόνας έχει μεγαλύτερη σημασία από έναν μεμονωμένο αριθμό.

Βήματα

  1. Διαβάστε τον κανόνα: χαρακτήρες, bytes ή λέξεις, και αν μετράνε τα κενά.
  2. Καθαρίστε το κείμενο με το εργαλείο αφαίρεσης αόρατων χαρακτήρων, ώστε οι αόρατοι χαρακτήρες να μην φουσκώνουν τον αριθμό.
  3. Επικολλήστε το κείμενο στον μετρητή λέξεων και διαβάστε τους χαρακτήρες και τους χαρακτήρες χωρίς κενά. Οι γραμμές ορίων δείχνουν συνηθισμένα όρια, αλλά ο αριθμός που πρέπει να χρησιμοποιήσετε είναι αυτός που μετράει η φόρμα.
  4. Αν η φόρμα μετράει bytes, υπολογίστε τα χωριστά, όπως εξηγήθηκε παραπάνω.
  5. Αν η φόρμα εμφανίζει δικό της ζωντανό μετρητή, εμπιστευτείτε αυτόν τον αριθμό και χρησιμοποιήστε αυτό το εργαλείο για να μάθετε γιατί διαφέρει από τον δικό σας.
  6. Αν ο κανόνας παραμένει ασαφής, αφήστε ένα περιθώριο. Το άρθρο όρια λέξεων καλύπτει το ίδιο ζήτημα για τις λέξεις και τους κανόνες των πλατφορμών.

Ειδικές περιπτώσεις

  • Ισχύει ο κανόνας της πλατφόρμας. Όπου μια πλατφόρμα έχει δικό της μετρητή, ταιριάξτε τον αριθμό της και όχι έναν γενικό.
  • Κενά στο τέλος. Μια φόρμα μπορεί να αφαιρεί τα κενά στις άκρες ενός πεδίου ή να μην το κάνει. Ένα κενό στο τέλος μπορεί να αλλάξει τη μέτρηση κατά έναν.
  • Αντιγραμμένο κείμενο. Το κείμενο που αντιγράφεται από ιστοσελίδα μπορεί να περιέχει μη θραυόμενα κενά και αόρατους χαρακτήρες. Καθαρίστε το με το εργαλείο αφαίρεσης αόρατων χαρακτήρων πριν από τη μέτρηση.

Μετάφραση από το Αγγλικό πρωτότυπο με τη βοήθεια τεχνητής νοημοσύνης.

Σχόλια

    Δεν υπάρχουν σχόλια ακόμη. Γίνετε οι πρώτοι.

    Η βαθμολογία σας (προαιρετικό)

    Το email σας δεν εμφανίζεται ούτε αποθηκεύεται ποτέ.

    Εξώφυλλο του How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 σελίδες για τα ανθρώπινα, οικονομικά και στρατηγικά πλεονεκτήματα που παραμένουν σπάνια όταν η τεχνητή νοημοσύνη μπορεί να κάνει το μεγαλύτερο μέρος της νοητικής εργασίας.

    $3.84Αγοράστε στο GumroadΣτα αγγλικά