String Byte Length
jason robards www pitneybowes com divieto di scaricare musica palm gprs www cmp it viareggio casa vacanza affitto volkswagen golf 1 8 gti di demain ferro da stiro stirella mistral atlantis land modem residence blu marine upload center bacicci log a jaguar s type 2.7 d mutuo fondiario roland exr-5s my guitar gentle finestra mansarde stereo 2000 marcon nb hp nx6110 - pm 740 istituti mariachi andino extender canon escape for island iliona fermer se dossier mouse optical 250s trust scola univ montpellier 3 roadhouse blues eurogoal www irre lombardia it portfolio shadow of fear casse per lettori mp3 portatili graduatoria permanente docenti lampada gas r i p shut up accessori per telescopio lectura video scandalo heidi futbol club barcelona mas flow tariffe telecom haiducii dragostea din tei il sali industriali bando korrupto toshiba m200 755 crocodile adventure rs- mmc 256 al 1722hs the pirates feat shola ama www maxpezzali com nightmare creatures 2 cavalli che cantano lavoro a monopoli toner 4216f samsung loghi cellulare neviano degli arduini kanin box esterno firewire 800 re rosanna geforce nvidia gradient 50 cps 5 mg samsung dvd-p355 il lamento di epicuro download tumble pop batteria videocamera sony airline discount ticket videotelefonia video fabrizio quatrocchi delonghi o 191 nike max air maury brain-trust lione richie lavorazione tubi rame david caruso www sexo sexo com mx google fa hardware usb car stereo ricarica e bay mada valgo sin tu amor oh boy bluetooth autoradio segnala un sito volo follonica mario winans feat enya e deddy raccoglitori archivio oriental hentai cartoline amicizia moto film hung up da scaricare veneto francobolli decapitazione ostaggi iraq video hot party 2001 furore cieco lavaggio modulistica per associazioni o inverter 12 mare in tempesta gta2 toys center gem wk1 costa crociera lavoro corpo foresta grosso cazzo tumore ossa cani sintomi palmare hp satellitare tre cumpar i don t to back torino lamezia oggetti the sims semsa suljakovic opel astra 1.9 cdti cosmo tasti di winning eleven 8 isis avent traduzione testo this love maroon5 gungrave overdose kaviar xg flash miguel enriquez maria morena hp designjet 800ps 42 goethe, johann wolfgang goodbye new york dragostea sesso lesbo gratis video decapitazione ostaggio inglese traduzione dei 3 doors down like humans do canzoni cd m2o mappa stradale dell italia granata seconda pelle buffalo ristorante sms dolci il lupo negozi one line toshiba 21 inserzioni di lavoro gratuito usb 802 11g adapter cavo usb stampanti foto paola perego www my siemens com balla baby video clip sesso con animali vivienne westwood la grande famiglia sexy beach orquesta billos yitzhak rabin subzero la paz entre peru ecuador blaupunkt travelpilot e1 honda accord 2.4 peschiera segreteria libero it laid back architetura el pais uruguay hercules console dj polno it la canzone dei nibelunghi camera vimodrone il corriere di ferro volkswagen polo fun grana usb key mp3 biker boyz 2 film dvd onkyo tx-l55 jetflash mp3 contratto terapisti della riabilitazione isuzu d-max foto e video di sesso valentina g uomini e behind the blue eyes music videos english testo canzoni di sere nere co dobre asus a8n-deluxe crediti scolastici vecchion sergio sgrilli video de pluma pluma gay pornovideogratis singole over 45 inno carabinieri multifunzione samsung 4216f gerhard winkler www f s it inkontri com cellulare (telecomunicazioni) sigma ex 17 - 35 motori elettrici e parti burzum quiero bailar mais uma vez centrale diffusori la voce del viso cicken little semana santa en guatemala fiano victoria becham kyosho mp ditte traslochi cd windows xp whirlpool at terapia trasfusionale crisis city barzelletta piccanti incontri sexy gratuiti gps palmare hpcompaq palmari shinco pmp everytime britney spear jvc videoregistratore viaccess tv keys concorsi per laureati in sociologia esselte 5121 fracchia la belva waiblinger wilhelm friedrich orchestra giorgio villani baila con migo www addmusic it prenotazione albergo lisbona hulk4 morrone aldo il figlio della sepolta viva bad credit personal loan ecs schede madri liceali al pompino lavatrice doppio flusso guscio comida china ilsole24ore com norme vico giuseppe libri olimpus 80 final fantasy x registratore portatile cd baby pozzi a fica aperta at italia a colpi di karate univision chicago lavastoviglie rex rt 65 fivelandia 10 immagini sesso il gladiatore dvd salvini gioiello costruzioni meccaniche negro duele el amor testimonios cozzens james gould dead or alive 2 masterizzatori dvd iomega bikers lettore dvd samsung dvi d m 198 del 23 10 2003 dio ha visitato giacomo leopardi shila michel viet fotos il mondo inseme a te trilogy star wars www import r com mediasetpremium prestito subito nick carter desnudo la canzone del ciuccio nightmare cofanetto riforma codice procedura civile cordless dect telecom fuga in paradiso pron pps juanes mp3 www school party 2004 tk nugoro panasonic dmcfz5eg emporio armani cd chitarra les paul scheda madre socket 754 ax 4x4 el sudcaliforniano donne mature yacht grande fartello tutti gli uomini di sara vacanza cina uno fire ferrarese aldo kramatorsk girly night out ful penna gel immaggini compleanno gf 6600 256 mb ginevra albergo creme rassodanti corpo biglietto vincenti lotteria italia 2005 benetton franchising nick bern lavatrice candy aquamatic casse kit home cinema michelle ramazzotti studio madico dermatologico genova riforma del codice di procedura civile libro bimbo il gusto del vino foto ostaggi nepalesi gunny bunny pranzo al ritz mx150 plantronics m i a the end volare mp3 www actionchat dm 12 4 96 karma malo www via michelin it singole maggiorate il drago degli abissi trani italia ovni biglietti per concerto incontro lerici nokia 6610i mms univison com gojko mitic leticia spiler adler thermae com brother mfc 7420 celebridades lesbianas congedo parentale florida mappa everyone be somebody voli per djerba kaitec top66 supporto per palmari da auto el confidente mercedes c 250 td esprit il presagio indios tabajara mutuo fisso tastiera ad infrarossi gl wireless sd jun kunimura atack caricabatteria nimh dural spa trasmissione dati cerco cavalli colin firth riscaldamento casa allison and williams la genesi di un maestro gps tomtom nokia 6600 hanno ucciso il gioco calcio mp3 tv sony plasma 42 pollici saucony grid el oro media hard disk e floppy barreto jr boris karloff foto uomini col cazzo duro il messaggio di mettete dei fiori nei vostri cannoni virginia ristorante il primo premio si chiama irene world golf in english corsi rumba torino apple dock fotocamere yakumo salvados por la campana kiloutou oakley accessori la figa di monica bellucci executive service kesenai tsumi how would u feel teen sex videos comune di treviso bari vibo valentia telecomando meliconi foto offspring lettori audio mp3 il cuore come amore duel masters vol 2 revolucion micro maniacs inmortal fotos de claveles www cinema ugc fr i manga a 128 bit gadget sportivi java free www ciee org br winzip per windows xp incredimail gutterball universita dams jeonju pentax optio mx grand theft auto psp le metropole
![Task](http://static.miraheze.org/rosettacodewiki/thumb/b/ba/Rcode-button-task-crushed.png/64px-Rcode-button-task-crushed.png)
You are encouraged to solve this task according to the task description, using any language you may know.
In this task, the goal is to find the byte length of a string. This means encodings like UTF-8 may need to be handled specially, as there is not necessarily a one-to-one relationship between bytes and characters, and some languages recognize this.
For character length, see String Character Length.
4D
$length:=Length("Hello, world!")
ActionScript
myStrVar.length()
Ada
Compiler: GCC 4.1.2
Str : String := "Hello World"; Length : constant Natural := Str'Length;
AppleScript
count of "Hello World"
AWK
From within any code block:
w=length("Hello, world!") # static string example x=length("Hello," s " world!") # dynamic string example y=length($1) # input field example z=length(s) # variable name example
Ad hoc program from command line:
echo "Hello, world!" | awk '{print length($0)}'
From executable script: (prints for every line arriving on stdin)
#!/usr/bin/awk -f {print"The length of this line is "length($0)}
C
Compiler: GCC 3.3.3
#include <string.h> int main(void) { const char *string = "Hello, world!"; size_t length = strlen(string); return 0; }
or by hand:
int main(void) { const char *string = "Hello, world!"; size_t length = 0; char *p = (char *) string; while (*p != '\0') length ; return 0; }
or (for arrays of char only)
#include <stdlib.h> int main(void) { char const s[] = "Hello, world!"; size_t length = sizeof s - 1; return 0; }
C
Compiler: g 4.0.2
#include <string> // note: not <string.h> int main() { std::string s = "Hello, world!"; std::string::size_type length = s.length(); // option 1: In Characters/Bytes std::string::size_type size = s.size(); // option 2: In Characters/Bytes // In bytes same as above since sizeof(char) == 1 std::string::size_type bytes = s.length() * sizeof(std::string::value_type); }
For wide character strings:
#include <string> int main() { std::wstring s = L"\u304A\u306F\u3088\u3046"; std::wstring::size_type length = s.length() * sizeof(std::wstring::value_type); // in bytes }
C#
Platform: .NET Language Version: 1.0
string s = "Hello, world!"; int clength = s.Length; // In characters int blength = System.Text.Encoding.GetBytes(s).length; // In Bytes.
Clean
Clean Strings are unboxed arrays of characters. Characters are always a single byte. The function size returns the number of elements in an array.
import StdEnv strlen :: String -> Int strlen string = size string Start = strlen "Hello, world!"
ColdFusion
#len("Hello World")#
Common Lisp
(length "Hello World")
Component Pascal
LEN("Hello, World!")
Forth
Interpreter: ANS Forth
Strings in Forth come in two forms, neither of which are the null-terminated form commonly used in the C standard library.
Counted string
A counted string is a single pointer to a short string in memory. The string's first byte is the count of the number of characters in the string. This is how symbols are stored in a Forth dictionary.
CREATE s ," Hello world" \ create string "s" s C@ ( -- length=11 )
Stack string
A string on the stack is represented by a pair of cells: the address of the string data and the length of the string data (in characters). The word COUNT converts a counted string into a stack string. The STRING utility wordset of ANS Forth works on these addr-len pairs. This representation has the advantages of not requiring null-termination, easy representation of substrings, and not being limited to 255 characters.
S" string" ( addr len) DUP . \ 6
Haskell
Compiler: GHC 6.6
strlen = length "Hello, world!"
IDL
Compiler: any IDL compiler should do
length = strlen("Hello, world!")
Java
Java encodes strings in UTF-16, which represents each character with one or two 16-bit values. The length method of String objects returns the number of 16-bit values used to encode a string, so the number of bytes can be determined by doubling that number.
String s = "Hello, world!"; int byteCount = s.length() * 2;
An other way to know the byte length of a string is to explicitly specify the charset we desire.
String s = "Hello, world!"; int byteCountUTF16 = s.getByte("UTF-16").length; int byteCountUTF8 = s.getByte("UTF-8").length;
JavaScript
JavaScript encodes strings in UTF-16, which represents each character with one or two 16-bit values. The length property of string objects gives the number of 16-bit values used to encode a string, so the number of bytes can be determined by doubling that number.
var s = "Hello, world!"; var byteCount = s.length * 2; //26
JudoScript
//Store length of hello world in length and print it . length = "Hello World".length();
Lua
Interpreter: Lua 5.0 or later.
string="Hello world" length=#string
mIRC Scripting Language
Interpreter: mIRC
alias stringlength { echo -a Your Name is: $len($$?="Whats your name") letters long! }
OCaml
Interpreter/Compiler: Ocaml 3.09
String.length "Hello world";;
Perl
Interpreter: perl 5.8
Strings in Perl consist of characters. Measuring the byte length therefore requires conversion to some binary representation (called encoding, both noun and verb).
use utf8; # so we can use literal characters like ☺ in source use Encode qw(encode); print length encode 'UTF-8', "Hello, world! ☺"; # 17. The last character takes 3 bytes, the others 1 byte each. print length encode 'UTF-16', "Hello, world! ☺"; # 32. 2 bytes for the BOM, then 15 byte pairs for each character.
PHP
$length = strlen('Hello, world!');
PL/SQL
DECLARE string VARCHAR2( 50 ) := 'Hello, world!'; stringlength NUMBER; BEGIN stringlength := length( string ); END;
Pop11
Currently Pop11 supports only strings consisting of 1-byte units. Strings can carry arbitrary binary data, so user can for example use UTF-8 (however builtin procedures will treat each byte as a single character). The length function for strings returns length in bytes:
lvars str = 'Hello, world!'; lvars len = length(str);
Python
Interpreter: Python 2.4
length = len("The length of this string will be determined")
Ruby
string="Hello world" print string.length
or
puts "Hello World".length
Scheme
(string-length "Hello world")
Smalltalk
string := 'Hello, world!". string size.
Standard ML
Interpreter: SML/NJ 110.60, Moscow ML 2.01 (January 2004)
Compiler: MLton 20061107
val strlen = size "Hello, world!";
Tcl
Basic version:
string bytelength "Hello, world!"
or more elaborately, needs Interpreter any 8.X. Tested on 8.4.12.
fconfigure stdout -encoding utf-8; #So that Unicode string will print correctly set s1 "hello, world" set s2 "\u304A\u306F\u3088\u3046" puts [format "length of \"%s\" in bytes is %d" $s1 [string bytelength $s1]] puts [format "length of \"%s\" in bytes is %d" $s2 [string bytelength $s2]]
Toka
This will include the terminating 0 in the length.
" hello, world!" count
UNIX Shell
With external utilities:
Interpreter: any bourne shell
string='Hello, world!' length=`echo -n "$string" | wc -c | tr -dc '0-9'` echo $length # if you want it printed to the terminal
With SUSv3 parameter expansion modifier:
Interpreter: Almquist SHell (NetBSD 3.0), Bourne Again SHell 3.2, Korn SHell (5.2.14 99/07/13.2), Z SHell
string='Hello, world!' length="${#string}" echo $length # if you want it printed to the terminal
VBScript
LenB(string|varname)
Returns the number of bytes required to store a string in memory Returns null if string|varname is null
xTalk
Interpreter: HyperCard
put the length of "Hello World"
or
put the number of characters in "Hello World"
- Split and Needing Review
- Programming Tasks
- Solutions by Programming Task
- 4D
- ActionScript
- Ada
- AppleScript
- AWK
- C
- C plus plus
- C sharp
- Clean
- ColdFusion
- Common Lisp
- Component Pascal
- Forth
- Haskell
- IDL
- Java
- JavaScript
- JudoScript
- Lua
- MIRC Scripting Language
- OCaml
- Perl
- PHP
- PL/SQL
- Pop11
- Python
- Ruby
- Scheme
- Smalltalk
- Standard ML
- Tcl
- Toka
- UNIX Shell
- VBScript
- XTalk