Ascii art
Automation Guild Online Conference Top ad


Entering/Reading ASCII codes – when using Unified Functional Testing previously known as Quick Test Professional (QTP) – is sometimes needed to achieve certain functionality. FYI this info here is not specific to QTP since ASCII is a standard any tool/language that you use would use the same Chr codes below. ASCII stand for American Standard Code for Information Interchange and it is a character encoding scheme based on the English alphabet.

QTP/UFT has two built in functions (ASC and Chr) that are helpful to know when you need to work with ASCII info. Make sure to also check out  3 ways to use keyboard input in QuickTest Professional: Type, SendKeys and Device Replay for other ideas similar to using the  ASCII methods.

Common ASCII codes for QTP and UFT Or Any other tool

Here are some of the most common ascii character codes I often use:

Chr(34) Double Quotes
Chr(10) Line Feed
Chr(13) Carriage Return
Chr(32) Space

Chart for all the QTP/UFT Chr() codes:

Chr(0) NUL Null char
Chr(1) SOH Start of Heading
Chr(2) STX Start of Text
Chr(3) ETX End of Text
Chr(4) EOT End of Transmission
Chr(5) ENQ Enquiry
Chr(6) ACK Acknowledgment
Chr(7) BEL Bell
Chr(8) BS Back Space
Chr(9) HT Horizontal Tab
Chr(10) LF Line Feed
Chr(11) VT Vertical Tab
Chr(12) FF Form Feed
Chr(13) CR Carriage Return
Chr(14) SO Shift Out / X-On
Chr(15) SI Shift In / X-Off
Chr(16) DLE Data Line Escape
Chr(17) DC1 Device Control 1 (oft. XON)
Chr(18) DC2 Device Control 2
Chr(19) DC3 Device Control 3 (oft. XOFF)
Chr(20) DC4 Device Control 4
Chr(21) NAK Negative Acknowledgement
Chr(22) SYN Synchronous Idle
Chr(23) ETB End of Transmit Block
Chr(24) CAN Cancel
Chr(25) EM End of Medium
Chr(26) SUB Substitute
Chr(27) ESC Escape
Chr(28) FS File Separator
Chr(29) GS Group Separator
Chr(30) RS Record Separator
Chr(31) US Unit Separator
Chr(32) Space
Chr(33) ! Exclamation mark
Chr(34) Double quotes (or speech marks)
Chr(35) # Number
Chr(36) $ Dollar
Chr(37) % Procenttecken
Chr(38) & Ampersand
Chr(39) Single quote
Chr(40) ( Open parenthesis (or open bracket)
Chr(41) ) Close parenthesis (or close bracket)
Chr(42) * Asterisk
Chr(43) + Plus
Chr(44) , Comma
Chr(45) Hyphen
Chr(46) . Period, dot or full stop
Chr(47) / Slash or divide
Chr(48) 0 Zero
Chr(49) 1 One
Chr(50) 2 Two
Chr(51) 3 Three
Chr(52) 4 Four
Chr(53) 5 Five
Chr(54) 6 Six
Chr(55) 7 Seven
Chr(56) 8 Eight
Chr(57) 9 Nine
Chr(58) : Colon
Chr(59) ; Semicolon
Chr(60) < Less than (or open angled bracket)
Chr(61) = Equals
Chr(62) > Greater than (or close angled bracket)
Chr(63) ? Question mark
Chr(64) @ At symbol
Chr(65) A Uppercase A
Chr(66) B Uppercase B
Chr(67) C Uppercase C
Chr(68) D Uppercase D
Chr(69) E Uppercase E
Chr(70) F Uppercase F
Chr(71) G Uppercase G
Chr(72) H Uppercase H
Chr(73) I Uppercase I
Chr(74) J Uppercase J
Chr(75) K Uppercase K
Chr(76) L Uppercase L
Chr(77) M Uppercase M
Chr(78) N Uppercase N
Chr(79) O Uppercase O
Chr(80) P Uppercase P
Chr(81) Q Uppercase Q
Chr(82) R Uppercase R
Chr(83) S Uppercase S
Chr(84) T Uppercase T
Chr(85) U Uppercase U
Chr(86) V Uppercase V
Chr(87) W Uppercase W
Chr(88) X Uppercase X
Chr(89) Y Uppercase Y
Chr(90) Z Uppercase Z
Chr(91) [ Opening bracket
Chr(92) \ Backslash
Chr(93) ] Closing bracket
Chr(94) ^ Caret – circumflex
Chr(95) _ Underscore
Chr(96) ` Grave accent
Chr(97) a Lowercase a
Chr(98) b Lowercase b
Chr(99) c Lowercase c
Chr(100) d Lowercase d
Chr(101) e Lowercase e
Chr(102) f Lowercase f
Chr(103) g Lowercase g
Chr(104) h Lowercase h
Chr(105) i Lowercase i
Chr(106) j Lowercase j
Chr(107) k Lowercase k
Chr(108) l Lowercase l
Chr(109) m Lowercase m
Chr(110) n Lowercase n
Chr(111) o Lowercase o
Chr(112) p Lowercase p
Chr(113) q Lowercase q
Chr(114) r Lowercase r
Chr(115) s Lowercase s
Chr(116) t Lowercase t
Chr(117) u Lowercase u
Chr(118) v Lowercase v
Chr(119) w Lowercase w
Chr(120) x Lowercase x
Chr(121) y Lowercase y
Chr(122) z Lowercase z
Chr(123) { Opening brace
Chr(124) | Vertical bar
Chr(125) } Closing brace
Chr(126) ~ Equivalency sign – tilde
Chr(127) Delete

ASC() Function

ASC()  is a QTP function that returns the code of the character passed to it. For example if you wanted to know what the ASCII/ANSI code for the pound symbol #:

Msgbox Asc(“#”)

The above will return the code 35

Chr() Function

If you wanted to enter or search for the pound key in a string you would use the QTP Chr() function. This function will return the character associated with the code passed to it. For example:

Msgbox Chr(35)

This will return the pound sign.

What about mouse and keyboard actions in UFT or QTP?

There may be time when you actually need to perform mouse or keyboard actions using screen coordinates. For a step-by-step example on how to do this with QuickTest Professional or Unified Functional Testing check out:
QTP Secret Code Chart Revealed For DeviceReplay PressKey, KeyDown, KeyUp and PressNKeys


3 Ways to use keyboard input in QuickTest Professional or Unified Functional Testing

QTP’s VBscript SendKeys FAQ — Joe Colantonio -- Test Automation Geek | Bibliomaniac | Software Imagineer - July 26, 2011

[…] objSendKey.SendKeys(Chr(13)) (For more ASCII codes to use in QTP check out :QTP ASCII CHR() CODE CHART ) […]

[WORDPRESS HASHCASH] The comment’s actual post text did not contain your blog url (http://www.joecolantonio.com/2011/07/26/qtp-ascii-chr-code-chart) and so is spam.

QTP Using the Replace Function to remove Line Feed and Carriage Return characters — Joe Colantonio -- Test Automation Geek | Bibliomaniac | Software Imagineer - July 26, 2011

[…] yourString = Replace(yourString,Chr(10) & Chr(13),"") To see a chart of all ASCII QTP CHR() check out: QTP ASCII CHR() CODE CHART […]

[WORDPRESS HASHCASH] The comment’s actual post text did not contain your blog url (http://www.joecolantonio.com/2011/07/26/qtp-ascii-chr-code-chart) and so is spam.

Douglas Vynalek - February 3, 2015

How do you press the Windows Logo key?


Michael K - April 13, 2015

I am having a heck of a time trying to figure out why my customer says they cannot see the RS/ chr(30) in this string. I am using vb script for a barcode. Can you tell why?

“[)>”&Chr(30)&”06″&Chr(29)&”1P”&Field(“psr120.1_part_no”)&Chr(29)&”Q”&Field(“psr120.6_act_wgt”)&Chr(29)& “K”&Field(“psr120.4_cust_order”)&Field(“psr120.cust_po_release”)&Chr(29)&”1T”&Field(“psr120.mat_cert_num”)& Chr(29)&”3S”&Field(“psr120.tag”)& Chr(30)&Chr(04)


Click here to add a comment

Leave a comment: