String Character Length
giochi per la playstation2 danzel pump emule 46 a mercedes serie 200 pussi il terrore sul mondo www centri abbronzatura bahia it passano email fax frigoriferi doppia porta inox ariston l ascensore hotels trentino cancion del mariachi rex rp 40 c trans perugia fotocamera digitale panasonic dmc fx7 il bimbo dentro orgasmos saint salvador sickandtired coppia singoli superdotati mondeo 2.2 tv color videoregistratore kahlil gibran camper in affitto cartina stradale londra quinny passeggino leggero bayan exe by ferrara albergo software palmare qtek www uomini edonne di maria de filippi assetto accessori auto e moto parte la seconda spedizione xbox 360 gem paolo meneguzi despina opa mc.donald lo sai che i papaveri... milano berlino thermaltake tr2 bomber honda shadow 750 gianmarco kvm switch zimmer midi mujeres the cabal ragazze ravenna software citta italiane batteria casio exilim edel weisse christina aguilera traduzioni camhoe army men 3d monica bellucci in tanga hot wheels extreme racing kadiogo www jornaldeangola com g star raw sansung frigoriferi pik loyd fef renault clio 1.5 gare fra uomini mappa stradali selena martinez giuliano ferrara vino shiraz adp vet. 100 cpr la poliziotta nec 2070nx usb nec e 313 gianna mp3 tomea hi foto camper foro romano curtiss, glenn hammond sfondi e suonerie per nokia fotoincisione diamante bebey, francis sharp ux-b30 beriozka valvola plastica sfera ottone 3 4 accessori tv plasma philips sony cyber-shot dsc f77 fhotos starplash fax brother laser 2820 finanziamento buccinasco thuraya 7101 katia pedrotti water bed sheet ps2 gamepad converter to pc usb ricambi usati per moto non guardare in cantina gubbio veline nokia 3220 con cavo usb belli k8n neo4-f oyun eglence hit parade musicale kim novak hard disk esterno gb x file resist or serve claudio baglioni amore bello gilbert becaud don omar la batidora bonnies bookstore linda lemay toshiba stasia 37 esclamativo bomb jones dolce e gabbana borse inverno sigle case cinematografiche antivirus panda titanium 2005 tv muro videoporno gratis societa trasnazionali the vibrators. live energized. cbgb 2004 www poliziadistato it concessionaria automobile greg rustavi sigle champions league king rai the lion sleep tonight testo canzone palmare tom 3 www radio it spartiti musicali articolo31 franco mazzieri video chi mi dice blue groban mina group guanti motorino legge 7 agosto 1990 n 241 ricambi lancia y toshiba condizionatore giochi in scatola per grandi hino nacional italiano perpetual brun tv recorder hd barra porta agenzia immobiliare venezia video lettori mp3 microonde ventilato whirlpool trabajo gassolina land in the sun estado convulsivo multifunzione hp 1215 dvd meryl streep trenitalia eurostar costruire casa jose luis rodrigues programe gratis cazzo neri sico pensioni napoli lettori divx mp3 amstrad bilancia 0 1 www amicidimariadefilippi net la carne e il diavolo toner minolta elisa beghelli logitech office comfort keyboard lellikelly hi end quante bello far l amore fornello gas campeggio smiles aceto balsamico tradizionale di modena il mio giro di vita panasonic pm31 uomini nella notte albergo isole lipari hp laserjet serie 1320 porno sfrenato worh it toyota yaris verso sol chiaramonti srl hp c7998a drew fuller rimorso che uccide midi tarantelle enzo baldoni photo comune bologna it nicoleta i believe my heart video roma new york biglietti aerei emon frankie hidiamond hifi terratec grabster av 400 amd athlon 64 939 3 0 apple - ipod 60 gb lg mp3 256 queen rok batteria nikon 4300 il resto del carlino it lavorazione lamiere a reggio emilia e provincia bornaut
![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 character length of a string. This means encodings like UTF-8 need to be handled properly, as there is not necessarily a one-to-one relationship between bytes and characters.
For byte length, see String Byte Length.
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; }
For wide character strings (usually Unicode):
#include <stdio.h> #include <wchar.h> int main(void) { wchar_t *s = L"\x304A\x306F\x3088\x3046"; /* Japanese hiragana ohayou */ size_t length; length = wcslen(s); printf("Length in characters = %d\n", length); printf("Length in bytes = %d\n", sizeof(s) * sizeof(wchar_t)); return 0; }
C
Compiler: g 4.0.2
#include <string> // note: not <string.h> int main() { std::string s = "Hello, world!"; // Always in characters == bytes since sizeof(char) == 1 std::string::size_type length = s.length(); // option 1: In Characters/Bytes std::string::size_type size = s.size(); // option 2: In Characters/Bytes }
For wide character strings:
#include <string> int main() { std::wstring s = L"\u304A\u306F\u3088\u3046"; std::wstring::size_type length = s.length(); }
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!")
E
"Hello World".size()
Forth
Interpreter: ANS Forth
CREATE s ," Hello world" \ create string "s" s C@ ( -- length )
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 most commonly used characters are represented by one 16-bit value, while rarer ones like some mathematical symbols are represented by two.
The length method of String objects gives the number of 16-bit values used to encode a string.
String s = "Hello, world!"; int length = s.length();
Since Java 1.5, the actual number of characters can be determined by calling the codePointCount method.
String str = "\uD834\uDD2A"; //U 1D12A int length1 = str.length(); //2 int length2 = str.codePointCount(0, str.length()); //1
JavaScript
JavaScript encodes strings in UTF-16, which represents each character with one or two 16-bit values. The most commonly used characters are represented by one 16-bit value, while rarer ones like some mathematical symbols are represented by two.
JavaScript has no built-in way to determine how many characters are in a string. However, if the string only contains commonly used characters, the number of characters will be equal to the number of 16-bit values used to represent the characters.
var str1 = "Hello, world!"; var len1 = str1.length; //13 var str2 = "\uD834\uDD2A"; //U 1D12A represented by a UTF-16 surrogate pair var len2 = str2.length; //2
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 any 5.X
my $length = length "Hello, world!";
PHP
$length = strlen('Hello, world!');
PL/SQL
DECLARE string VARCHAR2( 50 ) := 'Hello, world!'; stringlength NUMBER; BEGIN stringlength := length( string ); END;
Python
Interpreter: Python 2.4
length = len("The length of this string will be determined")
Ruby
Library: active_support
require 'active_support' puts "Hello World".chars.length
Scheme
(string-length "Hello world")
Seed7
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 length "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 characters is %d" $s1 [string length $s1]] puts [format "length of \"%s\" in characters is %d" $s2 [string length $s2]]
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
Len(string|varname)
Returns the length of the string|varname 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"
- Programming Tasks
- Solutions by Programming Task
- Split and Needing Review
- ActionScript
- Ada
- AppleScript
- AWK
- C
- C plus plus
- C sharp
- Clean
- ColdFusion
- Common Lisp
- Component Pascal
- E
- Forth
- Haskell
- IDL
- Java
- JavaScript
- JudoScript
- Lua
- MIRC Scripting Language
- OCaml
- Perl
- PHP
- PL/SQL
- Python
- Ruby
- Scheme
- Seed7
- Smalltalk
- Standard ML
- Tcl
- UNIX Shell
- VBScript
- XTalk