String Character Length
gioco pc gratis donne russe linea porno gay sexy tv foto sexy monica bellucci travestiti transessuali www girls gone wild com pornoa henger belle ragazze nude foto donna nuda gratis pamela anderson tommy le cover paola turci eros ramaz sexi ciccione foto gratis nudo donne nude su internet foto sexy di britney spears pamela anderson e tommy lee film hard gr sex scy marina sexy gratis http www sexzool com sesso gay torino bestiality sex canalis su max clitoride www babeporno net viet girl temi gratis per nokia porno toons video porno vip vido porno gratis naked gymnasts pamela anderson nude ragazze di cracovia duhamel, georges ragazze torturate racconto eros traduzione lyrics fuck it digimon xxx video pornostar www xnxx free hardcore sex bambola ramona porno figa invio sms gratis senza registrazione hardcore gratis gay free denise playboy pornostar lollipop peliculas de porno perego paola nuda pornografico foto lesbo gay gallerie di sesso gratuite francesex puttane sesso e fantasia sesso con nonna video pompini gratis fotos pornograficas frogsex com pornoxx tutto gratis film porno sms d amore gratis bi and gay group sexy nagma spiagge x nudisti italiane film cavalli fuck www ridigratis it gratis k key seca html full metal panic hentai sex vree live and watch sexmovies com giochi erotici di super eva tgirls flowers of hentai venier topless nonno sex fuking ragazzini gay donna nuda gratis pociciones del sexso tris sexy porno kiks transex escort rectal exam sex fuck you all mp3 spiagge italiane x nudismo girlsaloud sound of the underground vagina pelosa video di donne sex gratis sul p c sesso lesbiche lo mejor del porno ladro di sesso ragazze nude in cam borges, jorge luis catrina nuda corsi on line gratis famosos desnudos donne amanti del sesso orale in lombardia sex hentai orgasmo com sito gay foto ragazze siliconate gratis pornostar brigitta gaia zucchi nuda www sexso foto di sesso senza connessione donne moi le code de sky italia gay feet porn midi tropical gratis base audio la nostra vita eros ramazzotti foto di gay attivi puttana gratis tariffa doganale hentai po seks anal manga video gratis jose carreros gay maturi foto racconti erotici incesti donne di classe belle donne mature sex free movie basi midi ultime canzoni gratis baci vip lesbo www belle tette com grosse tette film gratis scaricare varese donne suonerie cellulari gratis chat gay gratuita roma donne anziani gioco sexy gratis nakeed hentai puzzle 2 teen sesso nudistas pimpinela medley gratis gay maschi foto porno immaggini japan xxx foto annunci sexi orgasmi femminili foto gratis di maschi nudi transex a roma cartoline virtuali sexy www sexy com br video animal sex giochi hentai gratis porno senza rischi eros e hard analisi cliniche ragazze gallarate sesso grayis anal girls watchs fotos desnudas de zanetti midi liscio gratis sesso tv foto misex 2004 global playboys the sound of san francis per donne porno natura scaricare canzoni gratis video hard di donne famose penetracion anal companeros star sex sesso gay immagini girls gone wild america uncovered famose xxx video topless massaggiatrici porno spiaggie nudiste annunci erotici o di sesso donne vedove photo anales www raconti erotici it free sex sesso in testa www fotoporno com adult poker fiesta pluma gay sexj shop www foto porno gratis donne mature culo gratis foto manga porno mutu foto sexy modal women sexy raconti incesto interno analogico modem giochi per pc da scaricare gratis pps gratis nurses hentai xxx gay cazzi grossi e duri keys canal child porno mpg chat lesbo oldsex norton antivirus gratis koi mil gaya trucchi gratis ps2 fotos en playas nudistas foto mature sexi
![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