String Character Length
i like nothing else matters metalica roma singole lc 20sh2e simboli gotici nutro choice plus m.a.x. 2 karate setiembre 2004 lavatrici lg 8kg delfinoterapia netgear - router dg834 opladen lavoro crociera la carpinese liquido pulizia giacomo sony vaio 14 1 centrino adapter ipaq ati x600 xt bmw serie 3 1999 tunnel carpale g unit poppin them thangs caramel froci porno mida preziosi spa adidas jogger panca 234 perfect blue linkin zelda gameboy un pesce di color rosa sof (srl) google in english compaq notebook presario amd reg john secada just another day giorno e notte di joe cassano lettere in cinese mudarra fantasia tette e culo prefect circle audi s8 2000 lavoro it volkl tour 6 vacanza s mauro mare phuong gerry rafferty moji koraki programmi freeware ingredienti muffins cioccolato le vent nous portera mp3 cartina regione italia il pugnale e la croce libri grandi domani lettini pali katy dvd-rw mini cultura giuridica e attori toyota yaris torino il dizionario delle ragazze tv lcd akai 30 vivere per vivere oem dvd slim la camella finestra in alluminio condizionatori di aria no milk too day immagini folletti nhra com e300 cellulari samsung cover divx flauto pan cuffia philips wireless office italiano sony plasma 1024x768 testo giorgia horst wessel lied aci merate pci express 512 mb televisori 29 3 prese scart media center scaleo duma (siria) nuovi dettagli per le crociate frozen madonna cercare uomo radeon 9800 pro agp notaio costa ue man driver scheda video 0 9 villaggio tunisia albatross cultura mixteca ufficio postali video di ingoi italia ischia biglietti battesimi dvd home theater sono sposata decreto legislativo anno 2004 stephanie de monaco fotografie erotiche amatoriali il vento amico la boheme videoregistrazione per videosorveglianza heavy gear uomo nudi gratis passeggiata margherita monitor fujitsu siemens foto di irlanda hp toner laser q2612a lettori da tavolo cd per dj batteria bn-v408 the sains obiettivi sigma 18-200mm sesso ciccione ethernet playstation 2 bigliettini di auguri di compleanno canoscan 8400f al di la del bene e male guillaume de machaut o de mac... beethoven bagatelle sobrevivire de celia cruz relazione frankestein di mary shelley hotel pineta marina di massa immegini trans stile css videos de shakira cipro elenco telefonico modulo ddr 333 sodimm 512 sobre fuego orario ffss altalex com beatle the wall sbocco lg 8110 telecel bolivia ripper dvd schede video nvidia 6600 foto gratis sesso hong kong - colpo su colpo ciao tennessee www eva henger it topless gratuiti cubo rubick montgomerie, alexander planetesimale basi musicali rume www harrypotter com profumi alla frutta windows 2003 comune di fabro mica esibizioniste treviso sapphire x800 xl 512mb pci-e vivo ati redondo de ricota harman kardon 3480 www spiderman2 sony cyber-shot dsc-w7 kalin olson galeria de fotos de zoofilia de mujeres aumania krital lagosanto david spencer group ps2 slim swap magic v3 6 plus slide card amd 3200 barton cazzi gay italiani audio registratore sintoamplificatori hi fi video de white flag de dido chab nasro fle laserwriter 4 600 toner speedy j www affari erick saab 9 3 beauty point frigorifero anni 50 giochi che ce editor fotos insolitas condizionatore dual roma auto video nuda time of your life green day recuerdos de alhambra tonga taglia del cane dual 7800 isof bouquet praticante fell in love a boy www uu classicheggiante www sex toggolino de quello che sento ricette della francia bella ciao pluton com punto km0 multijet
![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
The 1994 ANS standard does not have any notion of a particular character encoding, although it distinguishes between character and machine-word addresses. (There is some ongoing work on standardizing an "XCHAR" wordset for dealing with strings in particular encodings such as UTF-8.)
Interpreter: ANS Forth
The following code will count the number of UTF-8 characters in a null-terminated string. It relies on the fact that all bytes of a UTF-8 character except the first have the the binary bit pattern "10xxxxxx".
binary : utf8 ( str -- str ) begin char dup c@ 11000000 and 10000000 <> until ; decimal : count-utf8 ( zstr -- n ) 0 begin swap dup c@ while utf8 swap 1 repeat drop ;
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