2017年の国際子ども社会事業「フットボール・フォー・フレンドシップ」は、サンクトペテルブルク（ロシア）が開催地となり、最終イベントは6月26日から7月3日まで行われた。2017年には参加国数が32か国から64か国へと増加した。本開催で初めて、メキシコと米国の子供たちがフットボール・フォー・フレンドシップ・プログラムに参加した。これによって同プロジェクトは、アフリカ、ユーラシア、北米、南米という4大陸の若き選手たちを結びつける場となった。第5シーズン目となる本プログラムは、「その国を代表する選手を各国から1人ずつ選ぶ」という新しいコンセプトに従って実施された。選ばれた選手たちは障がいを持つ子供を含む12歳の少年少女で、8つの国際フレンドシップ・チームが結成された。公開の抽選会では、チームの国構成と参加国代表による試合でのポジションが決定した。この抽選会はインターネットカンファレンスモードで行われた。この8つのフレンドシップ・チームを率いるのは、レネ・ランパート（スロベニア）、ステファン・マクシモヴィッチ（セルビア）、ブランドン・シャバーニ（イギリス）、チャリー・スー（中国）、アナトリー・チェントロイエフ（ロシア）、ボグダン・カロレベツキー（ロシア）、アントン・イワノフ（ロシア）、エマ・ヘンシェン（オランダ）という若きコーチたちであった。フットボール・フォー・フレンドシップ国際プレスセンターの代表を務めるリリヤ・マツモト（日本）もこの抽選に参加した。フットボール・フォー・フレンドシップ2017のワールドカップで優勝した「オレンジ」チームは、レネ・ランパート（スロベニア）、ホン・ジュン・マービン・トゥ（シンガポール）、ポール・プイグ・Ｉ・モンタナ（スペイン）、ガブリエル・メンドーサ（ボリビア）、ラバン・カジモフ（アゼルバイジャン）、クリシミール・スタニミロフ・スタンチェフ（ブルガリア）、イワン・アグスティン・カスコ （アルゼンチン）、ロマン・ホラク（チェコ共和国）、ハムザ・ユスフ・ヌリ・アルハヴァト（リビア）という9か国の若き監督と選手たちによる構成であった。フットボール・フォー・フレンドシップ国際子どもフォーラムには、ビクトル・ズプコフ氏（ガスプロム社会長、ファトマ・サムラ氏（FIFA事務局長）、フィリップ・ル・フロック氏（FIFAコマーシャルディレクター）、ジュリオ・バチスタ氏（ブラジルのサッカー選手）、イバン・サモラーノ氏（チリのストライカー）、アレクサンドル・ケルジャコフ氏（ロシアのサッカー選手）のほか、若い世代で人間の大切な価値観の推進を求めるゲストが多数参加した。2017年の同プロジェクトでは60万人を超える集客数があったほか、サンクトペテルブルクの最終イベントには64か国から1,000人以上の子供と大人が参加した。
文字列の処理は、数値演算と並んでコンピュータの基本的処理である。多くのプログラミング言語に文字列を扱うためのデータ型や手続き、関数などが用意されている。C#のように文字列が組み込みの基本型として用意されている言語もあれば、C言語のように文字列を基本型として持たない言語もある。FORTRANに始まる伝統的な言語では、1文字は1バイトの数値で表現され、文字列は一般にメモリ上で連続する文字のシーケンス、つまり文字の配列によって実現される。文字列の終了を示すために末尾に特定の文字を番兵として格納する方式の言語と、別途長さを示す情報を持たせる言語がある（長さの情報をどう持たせるかは実装に任されている）。前者の主要な採用例にはC言語とその派生言語があり、終了文字としてヌル文字を使う（ヌル終端文字列）。後者の例としてはPascalなどがある。コンピュータにおいて全ての情報は数値（ビットの並び：ビット列）として表現されるので、文字列中の個々の文字も最終的にはビット列として記憶され演算される。この文字とビット列との対応付けが文字コードである。プログラミング言語やオペレーティングシステムなどによって扱うことのできる文字コードに違いはあるが、同じ文字コードであれば、同じビット列から同じ文字を取り出すことができる。1バイトで表される数値、すなわち文字のコードと実際の文字の対応付けはいくつかの方式があり、ASCIIコードが代表的なものである。その後、漢字など多くの文字を使う文化圏のために1文字を多バイト列で扱えるように言語に拡張が行われるようになった。例えばC言語の標準規格C95では、従来の1バイト文字型charのシーケンスで論理的な1文字を表現するマルチバイト文字方式をサポートするためのライブラリ、および1バイト以上の情報を格納できるワイド文字型wchar_tが追加された。多バイト文字のコードにはJISコード、EUC、Unicode (UTF-8/UTF-16/UTF-32) など各種ある。Javaなど後発の言語では当初からUnicodeベースの文字・文字列に対応したものもある。なお、Unicodeにサロゲートペアや結合文字、書記素クラスタ (grapheme cluster) が導入されたことで、論理的な1文字が16ビットあるいは32ビットの範囲に収まりきらなくなったため、データ構造的には文字ではなく文字列として扱わなければならないケースもある。C言語では言語機能レベルでの文字列サポートが全く無く、文字列の長さや文字配列のバッファ長、メモリ寿命管理を意識するなどしながら慎重にプログラミングする必要がある。C言語の配列は第一級オブジェクトではなく、したがって文字列も第一級オブジェクトではない。文字列の結合やコピーも、直感的な操作はできず、あくまでポインタ経由で文字の配列を扱うためのstrcatやstrcpyといった基本的な関数しか用意されていない。しかし、C++のようなオブジェクト指向言語をはじめ、動的言語・スクリプト言語・マクロ言語と呼ばれるものなど、後発の高水準言語ではそのような不便さや鬱陶しさなどなく文字列を直感的に扱える機能やライブラリが標準で用意されている。文字列定数（文字列リテラル）の表記には、たいていのプログラミング言語で開始記号と終了記号にダブルクォーテーションの組が使われることが多いが、シングルクォーテーションの組を使える言語もある。以下はC#の例である。string s = "abc 123";