US Phone Numbers

In the US telephone numbers can be expressed as a combination of digits and characters. The digits 2 - 9 each have three characters assigned to them.

This allows businesses (and individuals) to have a phone number that is easy to remember. For example, in Pittsburgh, PA, there is a chain of Chinese restaurants. All of its phone numbers end with RICE, which is the same as 7423, but much easier to remember.

The digits 1 and 0 do not have any corresponding characters. In addition, letters Q and Z are not on the dial.

US telephones contain both the digits and their corresponding characters on their dials. However, telephones in most other countries do not. This may make it impossible for someone outside the US to call a US company if all he has is a phone number containing one or more characters.

Numchar and phdecode are programs that allow anyone to convert a phone number to the corresponding character sequence, and to decode a character number into its respective digits.

Numchar

Numchar creates all possible combinations of digits and characters for a given phone number (or several phone numbers). To use it, type numchar followed by the phone number or numbers. You can type it as any combination of digits and characters. You may also use the * and # characters that appear on all new US telephones.

If you type anything other than alphanumerics, or * and #, numchar will interpret it as a digits separator and replace it with a dash (-). If you use the letters Q and Z, numchar will print a question mark (?) in their place.

Use a blank space, or tab, to separate the numbers on the command line. If you wish to use a space inside a number, surround the number with ASCII quotes (").

Example

Type:

	numchar 3456

This will produce the following output:

3456:
	3456
	345M
	345N
	345O
	34J6
	34JM
	34JN
	34JO
	34K6
	34KM
	34KN
	34KO
	34L6
	34LM
	34LN
	34LO
	3G56
	3G5M
	3G5N
	3G5O
	3GJ6
	3GJM
	3GJN
	3GJO
	3GK6
	3GKM
	3GKN
	3GKO
	3GL6
	3GLM
	3GLN
	3GLO
	3H56
	3H5M
	3H5N
	3H5O
	3HJ6
	3HJM
	3HJN
	3HJO
	3HK6
	3HKM
	3HKN
	3HKO
	3HL6
	3HLM
	3HLN
	3HLO
	3I56
	3I5M
	3I5N
	3I5O
	3IJ6
	3IJM
	3IJN
	3IJO
	3IK6
	3IKM
	3IKN
	3IKO
	3IL6
	3ILM
	3ILN
	3ILO
	D456
	D45M
	D45N
	D45O
	D4J6
	D4JM
	D4JN
	D4JO
	D4K6
	D4KM
	D4KN
	D4KO
	D4L6
	D4LM
	D4LN
	D4LO
	DG56
	DG5M
	DG5N
	DG5O
	DGJ6
	DGJM
	DGJN
	DGJO
	DGK6
	DGKM
	DGKN
	DGKO
	DGL6
	DGLM
	DGLN
	DGLO
	DH56
	DH5M
	DH5N
	DH5O
	DHJ6
	DHJM
	DHJN
	DHJO
	DHK6
	DHKM
	DHKN
	DHKO
	DHL6
	DHLM
	DHLN
	DHLO
	DI56
	DI5M
	DI5N
	DI5O
	DIJ6
	DIJM
	DIJN
	DIJO
	DIK6
	DIKM
	DIKN
	DIKO
	DIL6
	DILM
	DILN
	DILO
	E456
	E45M
	E45N
	E45O
	E4J6
	E4JM
	E4JN
	E4JO
	E4K6
	E4KM
	E4KN
	E4KO
	E4L6
	E4LM
	E4LN
	E4LO
	EG56
	EG5M
	EG5N
	EG5O
	EGJ6
	EGJM
	EGJN
	EGJO
	EGK6
	EGKM
	EGKN
	EGKO
	EGL6
	EGLM
	EGLN
	EGLO
	EH56
	EH5M
	EH5N
	EH5O
	EHJ6
	EHJM
	EHJN
	EHJO
	EHK6
	EHKM
	EHKN
	EHKO
	EHL6
	EHLM
	EHLN
	EHLO
	EI56
	EI5M
	EI5N
	EI5O
	EIJ6
	EIJM
	EIJN
	EIJO
	EIK6
	EIKM
	EIKN
	EIKO
	EIL6
	EILM
	EILN
	EILO
	F456
	F45M
	F45N
	F45O
	F4J6
	F4JM
	F4JN
	F4JO
	F4K6
	F4KM
	F4KN
	F4KO
	F4L6
	F4LM
	F4LN
	F4LO
	FG56
	FG5M
	FG5N
	FG5O
	FGJ6
	FGJM
	FGJN
	FGJO
	FGK6
	FGKM
	FGKN
	FGKO
	FGL6
	FGLM
	FGLN
	FGLO
	FH56
	FH5M
	FH5N
	FH5O
	FHJ6
	FHJM
	FHJN
	FHJO
	FHK6
	FHKM
	FHKN
	FHKO
	FHL6
	FHLM
	FHLN
	FHLO
	FI56
	FI5M
	FI5N
	FI5O
	FIJ6
	FIJM
	FIJN
	FIJO
	FIK6
	FIKM
	FIKN
	FIKO
	FIL6
	FILM
	FILN
	FILO

This is useful when you want to find a way of expressing an existing phone number into an easy-to-remember text string. In this case, FILM is a good word.

It is also useful to test a potential number before accepting it, to see if it may be used to ridicule you because it happens to combine into an undesirable phrase.

For example, you definitely do not want your number to be 328-7448. If you do not believe me, type:

	numchar "328 7448" | more

and search for EAT-SH, then look at the 14th matching line...

Phdecode

This program works just like numchar. In fact, it is a symbolic link to numchar (under Unix), or simply numchar renamed phdecode.exe (under Windows).

The only difference is that it will only give you the digits of a phone number.

example

Type:

	phdecode "BSD Unix"

The output will be:

BSD Unix:
	273-8649

This is useful when you want to get a new phone number and want it to be both easy to remember, and have some relationship to who you are or what you do.

It is also useful when you want to dial a phone number which contains alphabetic characters, and you do not have a phone with chacters on its dial.

Installation

You can download numchar from the unix directory of ftp.whizkdtech.net.

If your system is Unix, type make to build the executable for numchar. Then install it to wherever you keep your executables (typically, /usr/bin/ or /usr/local/bin/).

Next, create a symbolic link to and name it phdecode. The appropriate Unix command typically is:

	ln -s numchar phdecode

Under Windows, use your favorite C compiler to compile numchar.c to numchar.exe, then create a copy named phdecode.exe:

	copy numchar.exe phdecode.exe

Copyright © 1999 G. Adam Stanislav. All rights reserved.

Numchar is released under BSD type license. See the source code (numchar.c) for details.