public class ColognePhonetic extends java.lang.Object implements StringEncoder
Implements the Kölner Phonetik (Cologne Phonetic) algorithm issued by Hans Joachim Postel in 1969.
The Kölner Phonetik is a phonetic algorithm which is optimized for the German language. It is related to the well-known soundex algorithm.
Letter | Context | Code |
---|---|---|
A, E, I, J, O, U, Y | 0 | |
H | - | |
B | 1 | |
P | not before H | |
D, T | not before C, S, Z | 2 |
F, V, W | 3 | |
P | before H | |
G, K, Q | 4 | |
C | at onset before A, H, K, L, O, Q, R, U, X | |
before A, H, K, O, Q, U, X except after S, Z | ||
X | not after C, K, Q | 48 |
L | 5 | |
M, N | 6 | |
R | 7 | |
S, Z | 8 | |
C | after S, Z | |
at onset except before A, H, K, L, O, Q, R, U, X | ||
not before A, H, K, O, Q, U, X | ||
D, T | before C, S, Z | |
X | after C, K, Q |
"M
üller-L
üdenscheidt"
=> "MULLERLUDENSCHEIDT" => "6005507500206880022"
"6005507500206880022" => "6050750206802"
"6050750206802" => "65752682"
This class is thread-safe.
Constructor and Description |
---|
ColognePhonetic() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
colognePhonetic(java.lang.String text)
Implements the Kölner Phonetik algorithm.
|
java.lang.Object |
encode(java.lang.Object object)
Encodes an "Object" and returns the encoded content as an Object.
|
java.lang.String |
encode(java.lang.String text)
Encodes a String and returns a String.
|
boolean |
isEncodeEqual(java.lang.String text1,
java.lang.String text2) |
public java.lang.String colognePhonetic(java.lang.String text)
Implements the Kölner Phonetik algorithm.
In contrast to the initial description of the algorithm, this implementation does the encoding in one pass.
text
- The source text to encodepublic java.lang.Object encode(java.lang.Object object) throws EncoderException
Encoder
byte[]
or String
s depending on the implementation used.encode
in interface Encoder
object
- An object to encodeEncoderException
- An encoder exception is thrown if the encoder experiences a failure condition during the encoding
process.public java.lang.String encode(java.lang.String text)
StringEncoder
encode
in interface StringEncoder
text
- the String to encodepublic boolean isEncodeEqual(java.lang.String text1, java.lang.String text2)
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"