To get the wanted result, you must start from an image that has strong lines and uniformly colored areas between them. A cartoon is good term for this.
Then use an image to ascii translator (website or program). You get an intermediate result like this:
As you see, the toning in your photo isn't actually done by scattering ascii characters, but other bitmap patterns instead. That can be simulated by taking the intermediate result to Photoshop or GIMP. If the result from the translator is a GIF, convert it at first to normal RGB or 8 bit grayscale image.
Then goto Filter > Pixelate > Mosaic, select a fine only few pixel mosaic. Finally take the curves tool and adjust the contrast.
In the following screenshot the contrast is just adjusted. The mosaic size is 3 pixels. The image from the translator is about 900 pix wide.
The translator program used here is ASCII Generator v2. It allows one to select the font and which characters are used for generating the halftone ramp. The following example uses no recognizable characters, but a few maybe better patterns for this purpose. The font = Lucida Console. No mosaic filtering is used:
ADDENDUM: Other answers suggest straight away to discard ascii translators and to use some pattern halftone dithering method. (Ascii translator actually is a special case of it). Here's one simple method with the simplest possible pattern:
At first adjust your image to have high contrast. Then add a layer that has a black-white pattern. Here is 5x5 pixel black and white square fill just under painting with the pattern stamp:
Blur the pattern and adjust with the curves tool it's tone range to cover nearly black to nearly white:
Give to the blurred pattern layer blending mode = Hard light:
Merge the pattern and image layers. Increase it's contrast to create the wanted effect. If needed, the contrast can be stretched to extreme by applying Image > Adjustments > Treshold. See the result
Somehow smoother appearance is possible by using the curves tool instead of Treshold: